gpt4 book ai didi

rebase 后 Git 分支已经 fork ,为什么要 rebase?

转载 作者:IT王子 更新时间:2023-10-29 01:28:53 25 4
gpt4 key购买 nike

最近我收到通知说我的分支发生了分歧。那时我创建了一个功能分支,将其推送到远程,并在几天后再次开始工作时与 master 进行了 rebase。

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

...当在 master 时...

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”中找到了这个答案:

Since you'd already pushed the branch, you should have merged in the source branch, rather than rebasing against it.

问题

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

最佳答案

我们的想法是,只有在您还没有推送时才进行 rebase ,以重播您的本地提交。

一旦你推送(并且在团队中工作),你不应该在 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?

关于rebase 后 Git 分支已经 fork ,为什么要 rebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34678950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com