git设置在origin的上游

时间:2014-02-20 19:20:25

标签: git github

我一直在阅读&使用git但仍然对“起源”一词感到困惑。

我有一个本地回购,我在上面开了一个新的分支。这个新分支是我主人的副本。

我的主人是原始主人的一个分支,另一个由其他人制作的回购,并且在一些提交中领先于原始主人,在其他一些提交后面。

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

怎么去?

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

1 个答案:

答案 0 :(得分:5)

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

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

将更改从主服务器推送到远程主服务器
    git checkout master
    git push origin master

要处理新分支的更改,您需要先将它们合并到本地主分区中:

    git checkout master
    git merge mybranch

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

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

要使您的fork更新到原始版本的更改,您需要将另一个远程添加到本地存储库:

    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