最近我收到通知说我的分支出现了分歧。就在那时,我创建了一个功能分支,将其推送到远程,并在几天后再次开始处理它时与 master 进行了 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.
我在“rebase后Git分支出现分歧 https://stackoverflow.com/questions/19016698/git-branch-diverged-after-rebase":
由于您已经推送了分支,因此您应该合并到
源分支,而不是针对它重新建立基础。
Question
看完之后this https://www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview我仍然不完全理解我应该在流程中做哪些不同的事情,以及为什么我仍然想使用 git rebase。希望有人能解释一下,谢谢!
这个想法是只有当你还没有推送时才重新建立基础,重放你的local承诺。
一旦你推送了(并且在团队中工作),你就不应该在之上重新建立分支master
,因为它重写了 SHA1,迫使您强制推送分支的新状态。
制作一个git merge master
在这里最好进入您的分支:您在本地解决冲突,然后您可以进行更多提交和定期推送。
更多信息请访问 ”合并有什么区别master进入分支并将分支合并到master? https://stackoverflow.com/a/26384695/6309"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)