什么'git远程添加上游'有助于实现?

我正在阅读: https : //wiki.diasporafoundation.org/Git_workflow#Rebase_your_development_branch_on_the_latest_upstream

这里是一个摘录:

您的存储库最新

为了从开发中获得最新的更新,请执行一次性设置,将主GitHub回购作为远程设备,input:

$ git remote add upstream git://github.com/diaspora/diaspora.git 

在最新的上游重新开发您的开发分支

要使开发分支保持最新状态,请在上游主设备的当前状态之上重新设置您的更改。 看什么是混帐rebase? 下面的部分了解更多关于rebasing。

如果你已经build立了一个上面详细描述的上游分支和一个名为100-retweet-bugfix的开发分支,你可以更新上游,更新你的本地主分区,并像这样分支你的分支:

 $ git fetch upstream $ git checkout master $ git rebase upstream/master $ git checkout 100-retweet-bugfix 

[确保所有在分支机构中都是必要的]

 $ git rebase master 

为什么在这种情况下需要添加一个“远程上游”? 我刚刚做完了:

 $ git checkout master $ git pull origin master $ git checkout 100-retweet-bugfix 

[确保所有在分支机构中都是必要的]

 $ git rebase master 

维基正在从分叉回购的angular度谈论。 你有机会从原籍拉,推动,这将是你的主要stream散回购的叉子。 为了从这个主要的仓库中取得变化,你需要在你的本地仓库中添加一个远程的“上游”,指向这个原始仓库并从仓库中取出。

所以“起源”是你的叉子回购的克隆,从中推拉。 “上游”是主要回购的名称,从您拉取的地方更新叉子的克隆,但是您没有对其的访问权限。

当你有你自己的不是upstreamorigin时,这是有用的。 换句话说,你可能有你自己的origin回购,你做发展和本地变化,然后偶尔合并upstream变化。 您的示例和突出显示的文本之间的区别在于,您的示例假定您正在直接使用上游回购的克隆。 突出显示的文本假定您正在制作自己的回购的克隆,可能原本是上游的克隆。

我认为这可以用来“追溯分叉”

如果你有一个Git回购,现在已经决定它应该分叉另一个回购。 反过来说,你希望它成为一个分叉,而不会中断使用repo的团队,因为它们需要它们来定位一个新的repo。

但是我可能是错的。