0

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

4

1 回答 1

0

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

话虽如此,我最喜欢的方法是删除(临时)远程分支并将提交重新设置在 master 分支(通常命名为“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.

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

   git push origin :my_branch

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

于 2013-11-12T17:10:27.710 回答