2012-05-26 108 views
1

我已經對git倉庫中的某些代碼做了兩處修改,但是我想爲每個更改單獨提交。更改是而不是衝突,但它們確實重疊 - 即它們進行獨立更改,有時發生在同一行上。這意味着git add --patch將不起作用。有關處理git中重疊更改的建議?

此類更改的一個示例可能是在所有逗號後面添加空格以符合編碼標準,而命名空間函數通過在字符串前添加它們。

是否有任何聰明的git相關的方式來處理這種衝突,或者是從頭開始的唯一選擇,並撤銷其中一項更改?

回答

2

您可以使用git add --patch來做這件事,但您需要做一些手動編輯。當您看到含有重疊更改的塊時,選擇e(手動編輯當前塊)將允許您更改確切提交的內容。

這樣做有一些風險,並且有關Editing Patches section of the git-add(1) man page應該避免什麼的更多信息。

+0

因此,您修改的修補程序是在未修改工作副本的情況下添加的? – naught101

+0

是的,在這種情況下,這就是您想要的:您可以編輯修補程序以僅應用您的一項更改,但您的工作副本仍將包含爲第二次提交準備好的更改的累積效果。 – georgebrock

+0

我只想說謝謝。從長遠來看,我認爲這是迄今爲止我對SE提出的問題最有幫助的答案。我現在一直在使用它! – naught101