欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

git merge conflict(万恶之源) --- rebase 解决

程序员文章站 2024-03-24 09:36:58
...

git merge conflict(万恶之源) --- rebase 解决
新添加库到项目中,发起merge request之后,收到这个老大消息,这是啥?(作为一个只用这些命令的小白,咱啥也不敢说,啥也不敢问。去查)

rebase,直译为变基,它会把某个分支上的所有的提交的更改在另一个分支上重现一遍。
git merge conflict(万恶之源) --- rebase 解决
变基原理:首先找到两个要整合的分支(当前所在的分支和要整合到的分支)的共同祖先,然后取得当前所在分支的每次提交引入的更改(diff),并把这些更改保存为临时文件,这之后将当前分支重置为要整合的分支,最后在该分支引入之前保存每个临时更改。

git pull
git checkout ml_add_async # 分支
git rebase master

信息如下:
git merge conflict(万恶之源) --- rebase 解决
打开 conflict file:
git merge conflict(万恶之源) --- rebase 解决
通常应该:

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

git 给你展示的是 master 上当前状态加上 master 上当前修改和你的分支的修改两者冲突的部分。保留两分支之一的修改,或者完全修改为别的内容。总之把 <<<<<<< ======= >>>>>>> 这三种文本行删掉并保证内容正确(是你想要的)即可。

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

最后退出rebase状态,push分支到remote即可。commit 操作在rebase中隐含完成。

上一篇: android 自定义view仪表盘

下一篇: