2016-02-21 100 views
1

使用Git排除的文件,我想從分支B.同一文件替換所有的文件,除了對一些特定的,在分行一從Git的合併和歷史

我不想合併,因爲我不希望分公司A具有來自B的這些特定文件的歷史記錄。

我已經失去了幾個小時,並做了很多測試,但沒有找到答案。你可以幫我嗎?

回答

0

注意,你要麼必須具備全部的B的歷史或B的歷史;我假設你想要後者。

首先,在分支A上,做git checkout B .(確保在最後包括期間)。這將覆蓋您的工作目錄中的所有文件與B中的文件。然後,對於每個文件,您不需要想要B,請執行git checkout A /path/to/filename。這將「覆蓋」這些文件。然後提交,你就完成了。

0

你可以使用通常的合併,因爲你從A沒有歷史進入B可以使用squashing-commits-with-rebase所以這將是1承諾在礦井hisotry

+0

我正在使用回答http://stackoverflow.com/a/7292109/2235673來選擇文件。我應該如何承諾避免在歷史中包含我不想包含的文件? –