如何在git rebase中定义<upstream>?</upstream>

时间:2013-11-08 10:26:30

标签: git git-rebase

一般情况下,当一个分支是另一个分支的上游时?

git-rebase - Forward-port local commits to the updated upstream head

git rebase [-i | --interactive] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] [<branch>]

在下文中,master是上游分支。但为什么掌握上游,精确的定义是什么?

      A---B---C topic
     /
D---E---F---G master

1 个答案:

答案 0 :(得分:1)

用户选择要重新分支的分支的上游。可以将repo中的任何提交视为rebase操作的上游,即使是已经是分支的一部分,例如:

git rebase -i HEAD~5 

将允许重写当前分支的最后5次提交(更改顺序,压缩或删除一些)

但其中一个通用用法是,如果你有一个跟踪发布和开发分支的分支,而在你开发的时候,有人创建了一个版本,其中包含你的开发分支尚未开发的新功能。在这种情况下,您的dev分支应该在已释放状态(即上游)上进行重新定位。