命令行內解決git rebase conflict

進行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

那麼如何解決衝突呢?

  1. 確定內容該如何修改,git diff,有三種情況:

    1. 使用我們當前的
    2. 使用somebranch分支上面的
    3. 兩個都需要。
  2. 內容修改:

    1. 使用我們當前的內容,執行 git checkout --ours conflict-file-name
    2. 使用somebranch分支上面的內容,執行git checkout --theirs conflict-file-name
    3. 如果都需要使用,則vim confict-file-name,直接編輯衝突文件,修改之後直接wq退出編輯。
  3. 執行 git add .

  4. git rebase --continue
    如果執行之後沒有成功,有其他提示,按照提示git rebase --skip執行進行即可。
  5. 擦亮眼睛,我去,怎麼還沒有弄好!?
  6. 淡定,重複1至4步,直到返回正常分支。
  7. 大功告成,舒坦!!!呼......
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章