我在我的电脑上克隆了这个回购:https://github.com/derobins/wmd.git
但它有几个错误,看起来像另一个用户已修复它们并发出“拉请求”(我假设这些是要求提交更改的请求?)
是否可以将这些更改合并到我的本地版本中?
编辑:为了清楚,这是不我的存储库。我正在使用derobins的WMD编辑器,但它有一些错误,这些错误是那些拉动请求声称修复的。我已经克隆了Ubuntu上的repo(不是在github中),并希望尽可能合并这些更改。答案 0 :(得分:55)
(GitHub有关于如何处理拉取请求的very thorough documentation。)
基本上,您需要为发出拉取请求的人的存储库添加一个遥控器,例如:
git remote add helpful git://github.com/helpful-person/whatever.git
...然后将他们的更改提取到远程跟踪分支:
git fetch helpful
...现在,您可以在上游存储库的克隆中获得该人的GitHub存储库的所有提交。如果您查看该拉取请求中的其他提交,您可以:
git merge 75708aeab5
git cherry-pick 2142db89
,git cherry-pick 75708aeab5
git checkout -b fix-for-issue3 75708aeab5
另一种方法是,只是克隆发出拉取请求的贡献者的存储库,如果它是相同的,但是对于那些修复。
答案 1 :(得分:30)
接受的答案建议克隆或添加远程用于发出拉取请求的人的存储库。另一个cleaner and simpler way是使用此命令
git pull https://github.com/otheruser/repo.git branchname
例如,在撰写本文时,ghi有三个尚未合并的打开请求。这就是我将它们合并到我的本地仓库中所做的。
# I want to make sure my master is in sync with the upstream master
git checkout -b merge-patches master
# first pull request
git pull --no-ff https://github.com/TiddoLangerak/ghi.git master
# second pull request
git pull --no-ff https://github.com/wayfare/ghi.git master
请注意,两个拉取请求都是从主设备发送的,这就是我从master
分支机构撤出的原因。
这样,其他存储库不会添加到您的遥控器中,您也不必在本地挑选或克隆它们。
答案 2 :(得分:-2)
您将repo克隆到github帐户。然后只需访问克隆仓库的forkqueue,然后选择要合并到存储库的补丁。