Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何<;上游>;在git rebase中定义?_Git_Git Rebase - Fatal编程技术网

如何<;上游>;在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