git设置在origin的上游

Rik*_*ard 2 git github

我一直在阅读和使用git,但仍然对"起源"一词感到困惑.

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

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

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

怎么去?

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

Owe*_*wen 5

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

您的本地主分支可能正在跟踪远程存储库上的主分支.这将允许您使用更改从主服务器更改到远程主服务器

    git checkout master
    git push origin master
Run Code Online (Sandbox Code Playgroud)

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

    git checkout master
    git merge mybranch
Run Code Online (Sandbox Code Playgroud)

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

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

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

    git remote add original <url to orginal github repo>
Run Code Online (Sandbox Code Playgroud)

然后你可以从那里获取更改到你的本地仓库:

    git checkout master
    git fetch original
    git rebase original/master
Run Code Online (Sandbox Code Playgroud)

如果你愿意,可以将它们合并到mybranch中:

    git checkout mybranch
    git rebase master
Run Code Online (Sandbox Code Playgroud)