2011-04-05 48 views
50

我克隆此回購我的電腦上:https://github.com/derobins/wmd.git如何在git中將別人的項目的pull請求合併?

有幾種錯誤與它雖然,這看起來像另一個用戶有固定的他們,併發出「拉請求」(我認爲這些都是要提交自己的變化的要求?)

是否可以將這些更改合併到本地版本中?

編輯:只是要清楚,這是我的倉庫。我正在使用來自derobins的WMD編輯器,但它有一些錯誤,這些pull請求旨在解決。我已經克隆了Ubuntu上的repo(不在github上),並希望在可能的情況下合併這些更改。

+1

我敢打賭,如果你去你的github帳戶網頁,你將能夠看到拉請求和如何合併它的指令 – CharlesB 2011-04-05 14:10:04

+0

http://stackoverflow.com/questions/2140291/someone-sent- me-a-pull-request-what-do-i-do – CharlesB 2011-04-05 14:13:18

+4

@CharlesB:那根本不是重複的。沒有人發送*我*拉請求,這不是我的存儲庫... – DisgruntledGoat 2011-04-05 14:18:40

回答

53

(GitHub上對如何處理引入請求very thorough documentation

從本質上講,你要添加遠程對誰做的引入請求的人,例如庫:

git remote add helpful git://github.com/helpful-person/whatever.git 

...然後取他們變成遠程跟蹤分支:

git fetch helpful 

...所以,現在你都從人的GitHub的倉庫中提交你的克隆上游存儲庫。如果您在該拉取請求中查看其他提交,您可以:

  1. 合併最新的一個,例如, git merge 75708aeab5
  2. 櫻桃挑選每一個變化,例如, git cherry-pick 2142db89git cherry-pick 75708aeab5
  3. 創建本地分支以進一步處理它們,例如, git checkout -b fix-for-issue3 75708aeab5
  4. 等等,等等

另一種是隻克隆誰做的拉請求,而不是貢獻者的倉庫,如果是相同的,但對於那些修復。

+0

順便說一句我會首先結帳有用/必要的修復和重新綁定在我的主人,檢查出主後,然後合併有用的/必要的修復 – kalkin 2011-04-05 14:25:07

+0

有什麼OP可以一旦他從提取請求提交的提交無盡的變化 - 我正在用一個明確的條件來描述一個簡單的。 – 2011-04-05 14:29:49

+1

如果有單個命令,例如git merge https://github.com/repo/project/pull/119 ...如果你想要輕量級的東西,你可以順便說一下'curl https:// github.com/repo/project/pull/119.patch'然後應用補丁 – 2012-06-05 11:05:42

-2

您將回購克隆到您的github帳戶。然後,只需訪問克隆的repo的forkqueue,然後選擇要合併到存儲庫的修補程序。

+0

嗯,我不能只在Linux的命令行中執行此操作? – DisgruntledGoat 2011-04-05 14:19:12

+0

您可以查看Github文檔合併請求。 http://help.github.com/pull-requests/ – kalkin 2011-04-05 14:22:30

+1

有沒有必要克隆其他人的回購 - 只需將他們的回購作爲遠程別名添加到您現有的回購和'git fetch'他們的變化,正如Mark Longair的回答。 – 2011-10-12 15:55:29

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分支拉被送往。

這樣,其他存儲庫不會添加到您的遙控器中,也不必在本地挑選或克隆它們。

+0

我最喜歡這個答案,儘管這不起作用。我不斷髮現'致命的:無法找到遠程參考動作模式 意外的命令流結束' – 2013-11-02 01:36:35

+2

@DaniëlW.Crompton最可能的原因是git存儲庫URL不正確。 – 2013-11-02 03:44:31

+0

很簡單,謝謝。 – 2013-11-02 17:34:48