项目开发的release分支被其他同事修改后,自己再次push代码的时候
$ git push origin release
肯定会报错
To git.dev.sh.ctripcorp.com:ttd/ttd-connect-order2vendorservice.git
! [rejected] release -> release (fetch first)
error: failed to push some refs
这时,一般执行
$ git pull --rebase
再执行
$ git push origin release
就可以成功把代码推到远程分支
但是,当同事修改了正在开发的同一个java文件时
会返回merge失败
Falling back to patching base and 3-way merge…
并且分支会由(release) 变成(release|REBASE 1/1)
当修改完冲突代码后执行
$ git rebase --continue
它并不会成功,会提醒
You must edit all merge conflicts and then
mark them as resolved using git add
这时,你需要将冲突解决后的代码重新add,告知git冲突已修复。
然后再执行$ git rebase --continue
分支回到(release)
最后
$ git push origin release
现在就可以愉快的下班啦~