2012-03-21 233 views
1

我有一個子模塊。我更新了一個分支,說「x」並承諾。現在,我需要更新分支「Y」中與X有一些區別的相同更改。git從合併中刪除文件

因此,我一直在做的是檢出Y,然後運行git merge X.現在,存在衝突。有些衝突是不能解決的,例如更改日誌等。所以,我有debian/changelog的changelog文件顯示有衝突,另一個文件有衝突。

我想要做的是,不要在更新debian/changelog的同時保留其他更改。請不要在這一點投票。我一直在嘗試很多東西,並閱讀git rm手冊頁。

我試過這樣做,git rm --cached debian/changelog,它將它添加到要提交爲已刪除的更改列表中。這是令人擔憂的,因爲我不希望在遠程git存儲庫上將其刪除。請指教。

回答

1

通常,爲了忽略特定的文件合併(保留該文件版本化的離子Git),您將設置一個merge driver,在本例中爲"keepMine" script。不需要git rm。該腳本將確保在任何*.log文件發生衝突時(例如)始終保留目標文件(即一個分支Y)。

+0

我的問題不僅僅是合併。我想知道如何從我的索引中刪除文件。下一次它可能是一個不同的文件,然後我需要使用這個命令。但是,我將使用keepMine腳本進行更多手動作業的合併。謝謝。 – 2012-03-21 05:15:53