進行Rebase時,遇到conflict
當我們執行操作git rebase somebranch時,有可能遇到衝突,衝突的文件中會包含以下內容:
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> somebranch
握草,什麼鬼,怎麼又有衝突,要嚇死寶寶嗎?回退嗎?直接用merge算了?
這個時候,不能屈服,一定不要屈服,不就是衝突麼,只是個小boss。
解決衝突前的概念
在<<<<<<< HEAD和=======之間的是我們當前分支的內容,爲ours
在======= 和>>>>>>> feature1之間的是somebranch上面對應的內容,爲theirs
那麼如何解決衝突呢?
-
確定內容該如何修改,
git diff
,有三種情況:- 使用我們當前的
- 使用somebranch分支上面的
- 兩個都需要。
-
內容修改:
- 使用我們當前的內容,執行
git checkout --ours conflict-file-name
- 使用somebranch分支上面的內容,執行
git checkout --theirs conflict-file-name
- 如果都需要使用,則
vim confict-file-name
,直接編輯衝突文件,修改之後直接wq
退出編輯。
- 使用我們當前的內容,執行
-
執行
git add .
-
git rebase --continue
如果執行之後沒有成功,有其他提示,按照提示git rebase --skip
執行進行即可。 - 擦亮眼睛,我去,怎麼還沒有弄好!?
- 淡定,重複1至4步,直到返回正常分支。
- 大功告成,舒坦!!!呼......