将我的工作合并到遥控器的正确方法是什么

时间:2013-11-12 16:40:08

标签: git merge rebase

我有一个本地分支机构,我已将其推送到远程分支机构。现在我想将此分支合并到远程主服务器,但我担心当我合并它时,我可能会覆盖我的团队所做的更改。那么当你在团队中时,合并的正确方法是什么?我读过关于rebase的内容,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

没有真正的“正确方法”。有最佳实践,您应该与您的团队讨论。

话虽这么说,我最喜欢的方法是删除(临时)远程分支并在主分支(通常命名为“master”)之上重新提交提交:

   git pull # refresh local repo
   git checkout my_branch # go back to my pushed version of my branch
   # make sure that this "my_branch" is the right one!
   git rebase -i origin/their_branch # probably origin/master
   # > fixe conflicts. Test. Reread. Retest. Compare with original my_branch
   # make sure this is really what I want because when I
   git checkout their_branch ; git rebase my_branch ; git push
   # there is no going back.

这会更新“his_branch”,就好像您首先在“那里”直接进行了更改一样。剩下要做的就是删除远程分支:

   git push origin :my_branch

删除repo引用你的旧my_branch,最终将被垃圾收集。该方法的主要缺点是在提交的新(重新定位)子树中更改了SHA1。但我更喜欢在合并树上。因此,您应该与您的同事进行最佳实践讨论。