已经推送到备份目的的 Git 功能分支是否可以进行变基操作?

3
我读到过,对已经推送到远程的本地功能分支进行变基会导致问题,我相信我理解为什么会这样。然而,git rebase 的一些用例似乎对应于长期运行的功能分支。也许我比大多数人更谨慎,但我无法想象开发一个非平凡的功能分支而不至少推送到 origin 一次,即使只是为了备份我的工作。在这种情况下,虽然我的 forked repo 在 Github 上是公共的,但我没有与任何人合作该功能,并且在准备��进行合并之前,极不可能有任何人拉取该功能分支(甚至更不可能从某个拉取者那里合并回来)。我能否安全地假设关于“已发布”功能分支的警告不适用于此用例,而仅适用于您推送分支以允许其他人协作的情况?
1个回答

2
正如你所指出的那样,极其简单(过于简单?)的经验法则是“永远不要在已发布的分支上进行变基”,因为可能有其他人正在使用它。
在我看来,这个规则太过简单。就像你所说,也许没有其他人在使用它!在这种情况下,变基——将一些提交复制到新的链中,并使名称指向新的分支端点——是可以的。
即便如此,这仍然无法涵盖所有情况。我使用的规则是:如果每个使用该分支的人都同意,则可以对该分支进行变基。请注意,这涵盖了所有三种情况:
- 该分支未发布。只有你在使用它;你对它进行变基;你自动同意这是可以的,所以每个使用它的人都同意。 - 该分支已发布,但只有你在使用它。这将退化为前一种情况。 - 该分支已发布,且有多个人在使用它。他们是否都同意可以进行变基?如果是,则可以进行变基!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接