问题描述
多个dev分支在同步开发,同时发起代码评审,但合入master的时候存在先后顺序,那么后面同文件的操作则会提示“合并有文件冲突”,导致代码无法入库,只能重新提交。
在个人分支中如何解决与master分支差异,从何顺利提交评审合入代码?
Git相关知识
在本地多次merge手动解决冲突的时候,没办法,报错 [rejected] (stale info)
分支 [rejected] 报错通常发生在尝试推送一个分支到远程仓库时,远程分支的信息已经发生了变化,从而导致推送操作失败。这种情况通常是因为多个开发者同时对同一个分支进行了更改,或者远程分支已经被更新但本地仓库并未同步的情况下出现。
要解决这个问题,可以先使用
git pull
命令拉取远程仓库的更新到本地,解决可能出现的冲突,然后再尝试推送本地的更改。如果还是存在问题,可以尝试强制推送(git push -f
),但需要注意这样可能会覆盖他人的更改,所以要慎重使用。
参考方案
按照下面的流程还是没办法在本地已经提交代码的时候正常合并到最新分支代码
# 切换到master分支
git checkout Android_V_master# 更新master分支代码
git pull Android_V_master# 切回dev分支
git checkout Android_V_dev# 合并master的代码
git merge Android_V_master