git - update fork的master&将我的分支重新加入它?

时间:2013-11-09 23:00:12

标签: git github branch rebase master

我已经分叉了一个github项目,然后在本地克隆了它。

然后我在my_github/the_project repo。

的新分支上做了一些更改

然后我添加并提交了更改并推送到我的github仓库并提交了拉取请求。

店主已收到我的请求,并希望我“重新加入主人”以获取最新的更改。我该怎么做?

最初我认为我可以从我当前的分支中git fetchrebase master(我发现建议的大多数帖子......),但git fetch没有做任何事情。现在我已经意识到这可能是因为我仍然从my_ github/repo克隆(毕竟这是我在遥控器中的名字)中获取的,它还没有从github源所有者那里得到master的新变化。 / p>

我认为我可能需要做的是“刷新”我的 fork,以便我的fork的master是最新的,然后然后我可以获取该master和然后重新加入那个主人?

如果是这种情况,我该如何刷新我的forks master?如果不是怎么回事?

我是否应该为原始上游存储库添加一个远程数据库并使用它来进行(本地)变基?这是首选方法吗?

1 个答案:

答案 0 :(得分:10)

是的,由于你推测的原因,它不会取任何东西。是的,您应该在本地为上游添加一个遥控器;它将在master上进行快速合并。

git checkout master # Make sure you are in master
git remote add author original_repo_that_you_forked_from
    # Note: This is in the format git@github.com:authors_name/repo_name.git
    #       Only needs definition once, future fetches then use it. 
git fetch author
git status # make sure you are in the master branch for the following merge
git merge author/master  # i.e. 'into' your master branch
git checkout your-branch
git rebase master        # Now get those changes into your branch.
git push origin your_branch # You can also use `-f` if necessary and `--all`

(抱歉,我可能没有完全正确的语法)