我有这种情况。我从github分了一个回购。我在本地的一个单独的分支中做了一些更改。然后将它与master合并。然后我把它推到我的github回购。我也发送了拉取请求。
有人在主仓库的文件中进行了更改。我想获取它并在该文件中进行更改。我想单独发送拉取请求。
我如何从我的本地回购开始?
答案 0 :(得分:3)
我在本地的一个单独的分支中做了一些更改。然后将其与主人
合并
请勿:您应该从分支机构提出拉动请求,而该请求在您分叉的 upstream repo 中不存在。
这样,您就可以使master
始终与上游(原始)回购邮件的master
保持同步。
有关详情,请参阅“a couple of tips on pull requests”。
这意味着:
我从github分发了一个回购。我在一个单独的分支本地进行了一些更改
推送该分支,并从该分支发出拉取请求(使用目标:upstream repo/master
)
然后您可以从上游拉出来更新您的主服务器(您从未接触过:您只需将上游存储库中的提交添加到您的本地克隆,并将主服务器推送到您的分支以使其保持最新)。
然后,您可以在更新后的主服务器上重新设置本地分支,检查所有内容是否仍然有效,并将--force 推送到您的分支机构。
神奇之处在于:您现有的拉取请求将自动更新您刚刚强制推送的分支中的新提交。
详情:
cd /local/path/to/your/clone
git remote add upstream https://github.com/user/original_repo
git fetch upstream
git checkout master
# reset master to upstream master
git reset --hard upstream/master
git checkout yourBranch
git rebase master
# check that everything works
git push -f origin master
git push -f origin yourBranch
# Make your pull request from your branch in your fork on GitHub
一旦完成,未来的补丁演变意味着:
# update master with upstream master new commits
git checkout master
git pull upstream master
# rebase your local branch
git checkout YourBranch
git rebase master
# check that everything still works
git push origin master
git push origin yourBranch
# your pull request will AUTOMATICALLY BE UPDATED!
# nothing to do on GitHub