2014-01-15 30 views
0

所以我創建了一個分支來保存它作爲我的項目當前狀態的快照。我稱它爲「v1」。如何將pull請求合併到傳統分支中?

然後我重構了一些代碼並提交給master分支。所以現在我擁有最新最好的主人。

我的問題是:如果有人向主人提交拉請求,我該如何維護舊分支?是否有一種簡單的方法將拉取請求合併到兩個分支?

我期待的是:如果文件改變了很多,那麼就會出現衝突。但是,如果不是,那麼即使PR的基礎領先於我的傳統「v1」分支,它也只會合併PR引入的更改。

回答

1
git fetch <remote> 
git merge <remote>/<ref> 

remote的遠程分支,拉請求源於和ref的名稱是的提交(或分支)請求所述拉標識符。因此,如果您將主存儲庫作爲名爲upstream的遠程存儲庫,並且該存儲庫具有基於5d4434e(如此repository's pull request)的請求。你會運行:

git fetch upstream 
git merge upstream/5d4434e 

這將合併該提交和從本地回購缺少的所有歷史記錄。如果您只想合併該提交的更改而不是所有歷史記錄,則可能需要git cherry-pick upstream/5d4434e

+0

所以混帳合併不會爲我工作,因爲我不希望我的重構更改去遺留分支。我想我不得不在pull請求中使用git cherry-pick。 – Renato

+0

你可能不得不選擇pull請求中的每個提交(希望這個提交不會太多),因爲我不認爲拉取請求的實際信息存儲在存儲庫中。 – Sam

+1

我想這會工作:git cherry-pick -m 1 <合併提交的sha> – Renato

相關問題