回答
As of 15.08.2016 GitHub上允許通過GUI改變pull請求的目標分支:
現在,您可以更改打開拉請求的基地分支。創建拉取請求後,您可以修改基本分支,以便將拉取請求中的更改與不同的分支進行比較。通過更改原始拉取請求的基本分支,而不是使用正確的基本分支打開新分支,您將能夠保留重要的工作和討論。
提交者可以在發出拉取請求時更改它,但一旦它們發出,您就無法更改它。
另一方面,您可以手動合併他們的分支和推送,這是我半定期爲錯誤的拉取請求做的。
您可能會發現hub
gem有助於處理拉取請求的組件。
創業板包裹起來的手工工藝,它是:
- Add a remote的叉到本地結帳。
- 取回那個遙控器。
git checkout ${target_branch} && git merge ${remote}/${branch}
git push origin ...
這沒有什麼錯丹尼爾·皮特曼的解決方案,但是,我會像對待那些合併爲「沒有快進」,就是改變步數3:
git checkout ${target_branch} && git merge --no-ff ${remote}/${branch}
通過使用--no-ff
,歷史將更容易閱讀。它會清楚地說$n
提交來自$branch
,如果您需要恢復在該分支中完成的某些操作,它也將使您的生活更輕鬆。
要還回答eoinoc的問題,並給出一個額外的小費:
執行合併後,你的git的CLI會提示你寫郵件時,一般通用的消息將顯示在說着什麼樣
合併遠程跟蹤分支「用戶/其分支」到您的分支
確保編輯消息,包括上拉的請求數量的參考。這就是: (假設拉請求號123)
合併遠程跟蹤分支「用戶/其分支」到您的分支
裁判#123解決什麼...
因此,下一次你去看github上的問題/拉請求頁面,並檢查特定的拉動請求,你會看到你的消息的鏈接提交,你做了合併。
下面是我的意思是一個截圖。
使用由其他的答案中提到轂寶石的替代方法是use the command line to merge locally pull requests,其中,可以執行:
$ git fetch origin
$ git checkout *target_branch*
$ git merge pr/XXX
$ git push origin *target_branch*
只以上命令直接工作,如果第一次添加以下行到您的.git/config
文件中:
fetch = +refs/pull/*/head:refs/remotes/symbolic_name_origin_or_upstream/pr/*
所做的是允許您下載所有拉取請求。由於這可能不適合巨大的回購,GitHub修改了說明以使用git fetch origin pull/ID/head:BRANCHNAME
語法,從而避免修改配置文件並僅下載該單個請求。
雖然,因爲它是不是你的,你可以很容易地創建一個新的,如果相關的源代碼庫依然存在,你不能改變現有的拉請求 - 是的,哪怕是別人的。
轉到提交的資料庫,然後創建在他/她的倉庫使用相同的提交新的拉請求,但確保你正確設置正確的目標分支。
然後回到自己的資源庫,並接受新的拉請求。瞧!
這是否工作,如果他們已經改變了他們的存儲庫?如何確保它是「相同的提交?」 – ragerdl 2014-10-09 23:34:03
@ragerdl - 如果您正在使用'按功能分支'模型進行開發,那麼您可以使用針對上游分支的分支創建PR,並且它應該包含相同的提交。 – geerlingguy 2015-04-01 14:24:01
直接在GitHub上執行此操作的唯一方法,無需訪問本地回購。 – kopischke 2015-12-17 16:42:12
要做到這一點去到你的資料庫的首頁,點擊分公司,並從主更改默認分支成別的東西,在我的情況下,「開發」。
在那之後,每當有人創建了一個拉請求merge
按鈕將自動合併請求爲「開發」,而不是主人。
感謝您的錯字修復@錫文我欣賞它 – abbood 2016-08-02 18:02:55
有沒有必要感謝我們的調整/編輯。這是我們爲該網站所做的事情。不斷寫出好的答案,這是非常感謝。 – 2016-08-02 22:56:55
- 1. 將分支合併到與起始分支不同的分支
- 2. 合併請求到不同分支
- 3. 與github合併分支
- 4. 推分支合併到Github
- 5. GitHub中的分支分支
- 6. 應該將命名分支合併到默認分支中,反之亦然?
- 7. 分別構建分支併合併到主請求中
- 8. git將分支合併到分支
- 9. 一個分支從默認將默認分支在水銀
- 10. 將開發分支合併到我的分支中,同時保留合併到主分支的選項
- 11. 在github中合併2個分支
- 12. Git/GitHub分支合併
- 13. 如何將分支合併(或重新綁定)到github中的分支上?
- 14. 設置爲默認的合併分支
- 15. Git:將分支合併到主分支或主分支
- 16. Github - 自動合併基礎分支到拉取請求?
- 17. 如何從主分支(Github)中取出合併分支?
- 18. Github拉取請求不包括'合併分支'提交
- 19. 爲什麼在將分支合併到中繼並將分支合併回分支時會發生衝突?
- 20. 如何將開發分支合併到SourceTree中的主分支?
- 21. 將功能分支中的文件合併到開發分支
- 22. svn分支合併分支
- 23. 2分支主分支 - 合併分支1回到主分支並使用分支2中的代碼?
- 24. 如何將pull請求合併到傳統分支中?
- 25. 將拉取請求合併到多個分支中
- 26. 我如何區分一個分支與我的默認分支
- 27. 如何將分支合併到github中的主文件夾中?
- 28. 將分支合併到另一個分支中 - 需要取消分支
- 29. Eclipse合併到分支中
- 30. github與本地分支同步分叉
這應該是這個問題的正確答案(在升級到GitHub之後)。 – stuxnetting 2017-08-17 22:08:03
此功能似乎不再存在(截至2018-02-15),是嗎?在最近的拉取請求中,目標分支與源存儲庫/分支在淺藍色背景上顯示爲相同的藍色字體,而不再是按鈕。 – cgogolin 2018-02-15 14:01:13
啊!它確實!首先需要點擊「編輯」(這在上面的屏幕截圖中是不明顯的)。我忽略了這一點。抱歉。 – cgogolin 2018-02-15 14:02:16