最近我发现了我的分支已经分歧的通知.那时我做了一个功能分支,把它推到远程,并在几天后再次开始工作时与主人做了一次变调.
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.
我在" Gase branch在rebase之后分歧 "中找到了这个答案:
既然你已经推动了分支,你应该在源分支中合并,而不是对它进行重新定位.
题
读完这篇文章之后,我仍然不完全明白我应该在流程中做些什么,以及为什么我仍然想要使用git rebase.希望有人能解释一下,谢谢!
这个想法只有在你没有推动时才重新设置,以重播你的本地提交.
一旦你推动(并且正在一个团队中工作),你就不应该重新设置分支master
,因为它重写了它的SHA1,迫使你强制推动分支的新状态.
git merge master
在这里建立一个分支是可取的:你在本地解决冲突,然后你可以提交更多,并定期推送.
请参阅" 合并master
到分支和合并分支之间有什么区别master
? "