在rebase之后,Git分支已经分化了,为什么要反思呢?

时间:2016-01-08 14:05:58

标签: git branch git-merge git-rebase

最近我发现了我的分支已经分歧的通知。就在那时我制作了一个功能分支,将它推到远程,并在几天后再次开始工作时与主人做了一次变调。

git checkout -b feature-branch
git push origin feature-branch:feature-branch

......在主人的时候...

git pull origin master
git checkout feature-branch
git rebase master

但是当我想再次推动我的分支时,它说:

On branch feature-branch
Your branch and 'origin/feature-branch' have diverged,
and have 67 and 1 different commit each, respectively.

我在" Git branch diverged after rebase":

中找到了这个答案
  

由于你已经推动了分支,你应该已经合并了   源分支,而不是反对它。

问题

阅读this之后,我仍然不能完全理解我应该在流程中做了哪些不同的事情,以及为什么我仍然想要使用git rebase。希望有人能解释一下,谢谢!

1 个答案:

答案 0 :(得分:17)

我们的想法是,只有在您尚未推送时才重新投放,以重播本地提交。

一旦你推动(并且正在团队中工作),你就不应该在master之上重新绑定分支,因为它重写了它的SHA1,迫使你强制推动分支的新状态

http://rypress.com/tutorials/git/media/5-1.png

在这里优先考虑git merge master:您可以在本地解决冲突,然后可以提交更多内容,并定期推送。

http://i.stack.imgur.com/wBMwq.png

点击“What is the difference between merging master into branch and merging branch into master?

了解详情