2014-02-20 77 views
1

我一直在阅读关于使用git的&,但我仍然对术语“起源”感到困惑。git set upstream to origin

我有一个当地的回购,我做了一个新的分支。这个新分支是我的主人的副本。

我的主人是原始主人的叉子,另一个人是由别人做的,并且在某些提交之后在原始主人的前面,在其他人的后面。

我想合并我的分支“myBranch”与原来的主人。即我希望我的新分支是原始主人(不是我自己的主人)的克隆

如何去?

我试过git rebase,git merge,--set-upstream-to =,git fetch ...说实话我只是感到困惑。

回答

5

'origin'只是git给远程仓库的默认名称 - 在你的情况下,你的叉子在github上。如果您愿意,您可以将该名称覆盖为更有意义的内容。 (我经常使用'github'或'bitbucket'而不是'origin')。

您的本地主分支可能正在跟踪远程存储库上的主分支。这将允许您使用

git checkout master 
    git push origin master 

为了应对从您的新分支的变化,推动由你做主到远程主的变化,你需要首先合并到本地主:

git checkout master 
    git merge mybranch 

然后,您将能够将这些更改推送到远程回购。

然后,您可以在github上创建“拉取请求”,以便原始所有者可以根据需要将您的更改合并到其回购库中。

为了使您的前叉达日期从原来的变化,你需要到另一个远程添加到您的本地资源库:

git remote add original <url to orginal github repo> 

,那么你可以获取从那里更改您的本地回购:

git checkout master 
    git fetch original 
    git rebase original/master 

,并把它们合并成mybranch,如果你想:

git checkout mybranch 
    git rebase master 
+0

欧文,感谢您的输入!我认为我的困惑是_“哪个是遥远的?”_我的回购协议(在我的github账户上)或者我原来从哪里分出来的? – Rikard

+0

你的叉子在github上。您无法将更改推送给原件。您必须为该回购商的所有者创建拉取请求。 – Owen

+1

我想要的是rebase我的本地分支,而不是推。使其成为原始主人(我不拥有的人)的克隆 – Rikard

相关问题