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