2014-04-04 95 views
1

假設我有一個分支demos,它存在用於根據master中的任何內容創建示例代碼。我希望demo分支的提交可以非常頻繁地ping每個人,通常是通過拉入請求的一部分。如何在沒有關閉拉取請求的情況下從拉取請求合併到主數據塊

也就是說,我創建了分支demos和分支的初始提交,然後從它提出了一個pull請求。我想將它合併到master,但也要保持拉開請求的打開狀態,以便在提交新提交時,它們只會在相同的拉取請求上變成更多提交。

這似乎並不容易實現 - 一旦我手動從demos合併到master,它會自動「關閉」github上的請求。但是現在我想爲同一個demos分支添加更多更改,並提交&推送,只需將所有關心demos的人都作爲同一請求的一部分進行ping。

由於這樣做並不容易,這讓我覺得這是錯誤的。有時候在git上做這個容易的事情是錯誤的(例如使用pull),但是這個規則通常是,如果你想要做一些git自然不會做的事情,那麼你可能會錯誤地使用它。

我想以一種被git社區和最佳實踐認爲是好的方式來處理這種情況。但同時它看起來像是一個非常明顯的用例:一個拉取請求來提醒其他人從分支中獲取更改,但不會在合併之後將請求視爲「完成」。正在進行的拉動請求。

我可以一直生成一個新的拉取請求,但它不會保持不同的demos提交在邏輯上連接在一起,就如何顯示在github上並提醒人們。在提交級別,對demos的更改彼此不同,甚至可能來自不同作者的非常不同的東西。但在拉請求層面上,我希望它看起來像「任何人都有東西通過demos推動它通過這個拉請求。」

該工作流程的缺陷是什麼,爲什麼從git中的PR合併時它不是一個選項?

+0

發現,你能不能做到'GIT中檢出主; git合併分支/ with/pull/request'? – Sam

+1

這會自動關閉打開的PR。也許有一個設置來禁用它? – ely

+0

我怎麼從未注意到這個..... – Sam

回答

0

我不完全相信我遵循,但我不認爲單個請求是處理您的用例的理想方式。 Github的pull請求是Github的一個特性,他們已經做好了這些準備,一旦這個commit被合併到版本庫中,它就會關閉該PR。

拉入請求,憑藉這個名字,是有一組特定的犯下拉到倉庫的請求時,它會自動關閉自動關閉,一旦他們正在合併。

如果你在Github上,問題可能適合您的協調需求,並且您可以從每個拉取請求中引用該問題。如果您使用Bugzilla或Trello等不同的錯誤跟蹤系統或任何您想要的方式,那麼長時間運行的票證可能是最好的。

這可能不是那麼準確,因爲我不完全確定我遵循了你想要做的事情,如果是這樣的話,我很抱歉。

+1

這是「自動關閉他們」的一部分,我沒有得到。爲什麼在合併之後沒有選擇讓PR公開?是的,PR最初提到了一個提交塊,但也許以後我會想要同一個正在進行的,永無止境的,始終未決的PR來引用該分支中發生的任何更多提交。它爲提交線性可視提供了一個很好的位置,並且很容易配置來ping每個人。 – ely

+0

當然,我可以在每次有一個提交塊在該分支上共享時使用單獨的PR,但這樣他們看起來就像是不同的事件,而不是同一代碼區域內的一個有機增長流。 – ely

+0

拉取請求是針對要合併到主存儲庫中的特定有限的一組提交的請求。長期運行的合併集合最好在不同的功能中處理,比如bug跟蹤票據或Github Issue,因爲根據定義,一旦提交的提交被合併到存儲庫中,就會完成一次請求。請注意,您不必將它合併到'master'中,您可以將它合併到'demo'中,然後將它合併到'master'中,並將'demo'保存在repo中,並使用這些提交的日誌。 – Leigh

0

由於沒有可接受的解決方案,我會爲任何可能正在尋找類似的東西的人提出建議。看看GitHub的Webhook特性,我認爲它更適合於OP所要達到的要求。使用它可以將提交報告給另一個系統,例如AWS SNS,twitter,IRC等,觀察者可以訂閱更新。

第三方服務掛鉤甘蔗的列表只是閱讀標題後 https://github.com/github/github-services/tree/master/lib/services