我已经分叉了一个github项目,然后在本地克隆了它。
然后我在my_github/the_project
repo。
然后我添加并提交了更改并推送到我的github仓库并提交了拉取请求。
店主已收到我的请求,并希望我“重新加入主人”以获取最新的更改。我该怎么做?
最初我认为我可以从我当前的分支中git fetch
和rebase master
(我发现建议的大多数帖子......),但git fetch
没有做任何事情。现在我已经意识到这可能是因为我仍然从my_ github/repo
克隆(毕竟这是我在遥控器中的名字)中获取的,它还没有从github源所有者那里得到master的新变化。 / p>
我认为我可能需要做的是“刷新”我的 fork,以便我的fork的master是最新的,然后然后我可以获取该master和然后重新加入那个主人?
如果是这种情况,我该如何刷新我的forks master?如果不是怎么回事?
我是否应该为原始上游存储库添加一个远程数据库并使用它来进行(本地)变基?这是首选方法吗?
答案 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`
(抱歉,我可能没有完全正确的语法)