git merge conflict(萬惡之源) --- rebase 解決

在這裏插入圖片描述
新添加庫到項目中,發起merge request之後,收到這個老大消息,這是啥?(作爲一個只用這些命令的小白,咱啥也不敢說,啥也不敢問。去查)

rebase,直譯爲變基,它會把某個分支上的所有的提交的更改在另一個分支上重現一遍。
在這裏插入圖片描述
變基原理:首先找到兩個要整合的分支(當前所在的分支和要整合到的分支)的共同祖先,然後取得當前所在分支的每次提交引入的更改(diff),並把這些更改保存爲臨時文件,這之後將當前分支重置爲要整合的分支,最後在該分支引入之前保存每個臨時更改。

git pull
git checkout ml_add_async # 分支
git rebase master

信息如下:
在這裏插入圖片描述
打開 conflict file:
在這裏插入圖片描述
通常應該:

master 上的修改
=======
和最後的
>>>>>>>
保留你自己分支上的修改,但也可能需要保留 master 上的修改,或者兩者的混合體

git 給你展示的是 master 上當前狀態加上 master 上當前修改和你的分支的修改兩者衝突的部分。保留兩分支之一的修改,或者完全修改爲別的內容。總之把 <<<<<<< ======= >>>>>>> 這三種文本行刪掉並保證內容正確(是你想要的)即可。

git rebase --continue
git push origin add_ml_async --force

最後退出rebase狀態,push分支到remote即可。commit 操作在rebase中隱含完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章