<<<<< HEAD
mark在存在衝突時被添加到文件中。
所以,當你重訂一個分支和Git發現一些衝突更改它的標籤,標誌着它
<<<<<<< HEAD
conflicting changes in HEAD
============
conflicting changes in current commit
>>>>>>> commit SHA1
每當有衝突的Git的bash通過暫停底墊和顯示的確切承諾數提供了一個指示。您可以手動解決衝突,也可以通過像kdiff3這樣的mergetool來解決衝突。然後你可以做git rebase --continue
繼續rebase。
讓我們來看一個例子
上面的例子有以下點
- 的Git的bash檢測到衝突而重訂BRANCH1到主
- ,Git提供了幫助,希望可能是下一步
- git暫停rebase並顯示暫停rebase的時間點。
這些都清楚地表明您的文件標有衝突標籤。
這裏是在這個文件指出
所以你必須去的文件,找到標有標籤,刪除或添加行,保存文件,git的添加,並鍵入git rebase --continue
解決。
就你而言,你可能意外地遺留了<<<<<<< HEAD
標記並繼續使用rebase。
爲了避免這種情況,最好的方法是使用像kdiff3這樣的合併工具。你可以在這裏找到 http://jebaird.com/2013/07/08/setting-up-kdiff3-as-the-default-merge-tool-for-git-on-windows.html
的步驟安裝並配置kdiff3後,你只需要類型git mergetool
在bash打開kdiff3,每當有衝突,通過簡單地選擇你想要的部分解決衝突。 kdiff3還提供了通過點擊按鈕跳轉到衝突線的功能。
希望這有助於
來源
2017-03-02 14:11:31
nak
我只是簡單地看着爲過量使用的文檔,並看到了[MergeConflicts](https://github.com/brigade/overcommit/blob/master/lib/overcommit/hook/pre_commit /merge_conflicts.rb)預先提交鉤子。這不是你想要的嗎? – Hasturkun
是的,我確實啓用了它。但是這發生在rebase/merge操作中,所以預先提交鉤子沒有被觸發(至少沒有警告)。 –