在我们进行开源项目开发时,我们往往会遇到开源项目主仓代码发生了更新然后我们自己本地clone下来的代码未及时更新,从而造成本地提交的PR或者进行代码测试由于代码更新不及时出现冲突或者报错的情况,这时我们经过以下几个步骤就可以同步更新主仓代码并解决冲突
git branch 查看分支,确定为需要更新的分支
git remote add open https://gitee.com/mindspore/mindspore.git 仓库链接为你开发项目的链接地址
git fetch open
git rebase -i open/master
如果未出现冲突,按文末操作进行代码上库,如果出现冲突,则需要继续解决冲突
git status 查看冲突文件
编辑冲突的位置,之后保存,一般冲突位置代码如下,可搜索相关标志定位冲突位置:
a123
<<<<<<< HEAD
b789
=======
b45678910
>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc
c10086
<<<<<<< HEAD 与 =======之间的是主仓代码修改的内容, ======= 与 >>>>>>> 之间的是你自己修改的内容,一般来说冲突解决时主仓代码修改全权保留,你自己修改的代码依据实际情况判断保留与否,修改完成相关标记都要剔除。
git add -u 或者 (git add xxx (冲突的文件))
git rebase --continue
然后将本地代码上库
git add .
git commit --amend 此选项可以合并之前的提交记录
git push -f
完成更新