如何<;上游>;在git rebase中定义?
一般来说,一个分支何时是另一个分支的上游如何<;上游>;在git rebase中定义?,git,git-rebase,Git,Git Rebase,一般来说,一个分支何时是另一个分支的上游 用户选择要重定基础的分支的上游。回购中的任何提交都可以被视为重定基础操作的上游,即使是已经是分支的一部分,例如: git rebase -i HEAD~5 将允许重写当前分支的最后5次提交(更改顺序、挤压或删除部分) 但其中一个通用用法是,如果您有一个分支跟踪发布和您的开发分支,并且在您开发时,有人创建了一个具有您的开发分支还没有的新特性的发布。在这种情况下,您的开发分支应重新基于已发布状态,即上游。“如果未指定,将使用branch..remote
用户选择要重定基础的分支的上游。回购中的任何提交都可以被视为重定基础操作的上游,即使是已经是分支的一部分,例如:
git rebase -i HEAD~5
将允许重写当前分支的最后5次提交(更改顺序、挤压或删除部分)
但其中一个通用用法是,如果您有一个分支跟踪发布和您的开发分支,并且在您开发时,有人创建了一个具有您的开发分支还没有的新特性的发布。在这种情况下,您的开发分支应重新基于已发布状态,即上游。“如果未指定,将使用branch..remote和branch..merge选项中配置的上游。”您是否查看了该文档中使用上游参数的一个示例,看看它做了什么?@torek问题是文档没有定义上游。这个词似乎用得相当松散。另请参见这个问题:Rebase在这里没有定义它,因为它取决于您的选择。我认为“上游”这个词用在这个论点上是错误的,最好称之为“之后开始”,比如:“rebase从给定的
在点之后开始,然后继续在给定的分支上提交提示,将它们移到上的点。”(但这仍然不太准确,因为它是在合并基础之后开始的。这可能就是为什么文档在这里说“上游”,无论你如何表达它都会让人困惑。)寻找git术语的问题是没有一个统一的术语集。比如,看看围绕“索引”和“暂存区”的争论:,每件事都有自己的定义:rebase
使用“上游”的方式有点奇怪,push
和fetch
使用“refspec”的方式有细微的不同,等等。它们都是合理的,但你必须非常小心谁在说话。
A---B---C topic
/
D---E---F---G master
git rebase -i HEAD~5