2012-11-27 81 views
33

是否可以修改其他人啓動的請求?多用戶Github合併請求

假設我維護項目X,並且用戶A向我發送了拉取請求。我想在合併之前更改一些內容,並可以自己快速完成。我怎樣才能做到這一點,並保持在一個公關?

這甚至可能嗎?

回答

23

你可以這樣說:

在您的回購,

git checkout -b new-branch 

然後將用戶A提交到您的新分支:

git pull git://github.com/[User A]/[project-name].git 

之後,您可以在新分支中隨意更改它。而當你測試,並與您的更改滿意,你可以把它合併到master分支:

git checkout master 
git merge new-branch 

OK,現在你有用戶A和更改你的代碼。

+1

如果您不想拉用戶的主分支,而是在樹中的某個其他分支,該怎麼辦? http://stackoverflow.com/questions/1709177/git-pull-certain-branch-from-github – netpoetica

+4

分支名稱是可選的'git pull'的第二個參數 – Loren

+4

我認爲''git fetch upstream pull//head: ''比git pull拉PR更好。 –

-3

這是可能的!所有你需要做的事情就是檢查一下他們的pull請求中的分支,並進行你想要的更改。在您提交併推送這些更改後,它們應該反映在Github中的請求中。

+3

對於未來的讀者:除非我誤解了,否則只能在分支機構位於主存儲庫內時執行此操作。考慮嘗試將'contributor/feature'作爲'original/master'的所有者合併到'original/master'中 - 除非'contributor' - 提交PR的人擁有''contributor'',否則您將無法推送到'contributor /因爲您將訪問權限推送到他/她的存儲庫。 –

3

假設您已經閱讀並且編寫訪問用戶的github存儲庫,您可以推送到分支機構,該請求來自該分支。

它在MERGE PULL REQUEST按鈕之前的拉動請求的底部。

您可以通過推到XXXXX分支上YYYY這一拉要求增加更多的提交/ ZZZZZ

0

不可能,但您可以向其分支提交第二個拉取請求,如果他們決定合併它,則會更新原始拉取請求。

1

不幸的是,沒有,下面不工作:

git push -f upstream my-updates:refs/pull/999/head ... ! [remote rejected] my-updates -> refs/pull/999/head (deny updating a hidden ref) error: failed to push some refs ...

+0

確實。此行爲在Github文檔中進行了描述:https://help.github.com/articles/checking-out-pull-requests-locally/#modifying-an-inactive-pull-request-locally – waldyrious

8

我意識到這是一個老問題,但GitHub的公司最近推出了一些新的功能,使它們能夠以實際更新提交pull請求由另一個用戶。

當您創建新的請求時,您會看到一個標記爲「」的複選框,允許維護人員進行編輯。這是默認啓用的。

有了這個地方,任何人只要有提交權限到是你拉的請求的目標也將能夠推動改變庫是拉請求的來源的分支庫。

這尤其適用於每個人都有權訪問「主」存儲庫的團隊環境,但是所有工作都是在各個分支中的功能分支上完成的。這意味着,如果存在需要進行一些更改並且主要作者不可用的開放請求,則團隊中的其他人可以直接進行必要的更新,而不是關閉現有PR並打開新的請求。

相關問題