2012-04-18 193 views
0

我有兩個主要分支用於我的項目 - master用於「應用程序」的「生產」版本,X用於「測試」版應用程序。Git標記分支特定的提交併防止合併

我需要在部署設置,數據庫配置,谷歌網絡分析ID等相互分開的這兩個分支中保留一些代碼調整,並防止它們合併,只要git merge X發生在master上或git merge master在分支上執行十

是否有可靠的方法來做到這一點,即一些標誌作爲提交「這個分支只有」?

回答

3

答案很簡單:不平凡。

相反,您可以:

  • 櫻桃採摘每次提交,不包括標者(關鍵字在提交例如消息)
  • 撥打第二支沒有這些提交定期與它合併包括他們的分支。合併「壞提交免費」分支與主和新的。
+0

謝謝!所以,我正確理解,第二個選項我需要...讓我們看看...... 6個分支?假設M =法師和d =發展,d <= ConfigD +得嶺,男<= ConfigM +麥克萊恩,所以我會制定得嶺,並將其合併到d和麥克萊恩?我懷疑這最終會產生衝突,每次我將ConfigD合併到D中以將配置返回時... – alexandroid 2012-04-25 17:23:47

+0

老實說,我更喜歡櫻桃挑選解決方案。它會更簡單。 http://wiki.koha-community.org/wiki/Using_Git_Cherry_Pick – gracchus 2012-04-25 20:51:36

1

這並不理想,但我有一個類似的場景在我的項目之一。我的解決方案是維護三個分支 - master,devel和config。配置分支從devel上的某個點分支,只包含配置的東西(因此名稱)。然後,我可以在您指示的時候開發併合並master和devel,當我需要測試時,然後使用rebase將配置分支移出到開發的頂端。

這更麻煩一點,特別是如果你是一個喜歡測試關於devel的每一次提交的人,而不是隻是定期測試,但至少它是功能性的。

+0

是的,聽起來像有更多的分支機構是這樣,除了也許我想有主人和發展單獨的配置...謝謝! – alexandroid 2012-04-25 17:22:52