git多人合作开发同一个分支

对同一个分支,可能有多个人在开发,在你down下代码并修改完提交的这段时间里,可能你的同事已经做了新的提交,那么此时应该如何提交呢?

  1. 首先保存本地修改
    git commit 或者直接push 到git/gerrit (只是上传,不merge)
  2. git pull --rebase 更新远程代码到本地
  3. 此时可能产生冲突,需要手动修改代码解决冲突。
    注意:此时是在某个解决冲突的节点上,并不是在分支上。
  4. 解决完冲突后,git rebase --continue 从解决冲突的节点回到分支,此时解决冲突的那些修改已经保存到分支的git记录中。
  5. git add 添加新的修改到暂存区
  6. git commit --amend 追加提交到刚刚一开始没有merge的提交中
  7. git push origin ……
  8. OK,可以merge了!

有一个博客解释的蛮好的:

为什么要先commit,然后pull,最后再push?而不是commit然后直接push?

– 如果解决完冲突push时出现不知道为什么的问题,所在节点不对,可以:

git reset 节点 回退到那个节点,重新add ->commit-> push,此时冲突的解决都是仍然保存有效的。

你可能感兴趣的:(git,git,多人协作)