2012-02-06 61 views
0

我們有一個以git-flow(ish)類型的方式建立的git倉庫 - 我們有3個「mainline」分支,dev,release和production。我們的工作流程是,一段新的代碼進入dev,其週期爲兩週。一旦這兩週過去了,dev就變成了「發佈」,在這一點上它已經過測試,並且固定了它,但是沒有新的功能被應用。在此之後的兩週內,發佈會被部署,併成爲生產分支,但實際上並未觸及(除非緊急帶外修復)在同一個倉庫中處理不同的配置文件版本

因此,我們在本地有3個版本的數據庫跟蹤3個不同的分支。我們傾向於有大量的架構流失,所以在dev分支中發生的變化可能會破壞發佈或生產中的變化是很常見的。

問題是,您如何在同一個git存儲庫中管理3套不同的配置文件?目前,我們正在做的是.gitignoring它們,並在每臺機器上保留3個本地版本的代碼庫。但是,由於幾個原因,這並不是很理想,如果我們可以擁有一個單一版本的repo並在分支之間切換,那將是非常好的。

我想我正在尋找一種方法來檢查一個分支中的文件,並讓它停留在那裏,但不會在主線分支合併之間拾取。這樣就可以在開發版本上發佈一個版本,在主版本上發佈一個版本,但每個版本都可以與其他版本分開。有點像.gitignore合併。

這可能嗎?有沒有人遇到過這個? (不能相信我們是唯一的)你是如何解決它的?

回答

1

如果您正在討論環境配置,您可以爲每個環境配置一個配置,如dev.config,test.config,production.config等。可以在dev分支上對dev.config進行更改。一旦它得到測試並且發佈時間到來,發行版中的測試/生產配置可以進行更新和適當測試。爲所有環境配置一個配置沒有意義。

+0

所以這就是我們所擁有的東西,但是我們需要通過qa中的東西來分割我們的配置,並且積極開發中的東西,並且在定期切換它們之間進行切換。一種不必重新命名3-4個文件的方法,或者在我高清上的不同分支上安裝2個回購站來完成切換 – 2012-02-06 06:26:40

0

Manojlds是對的:單獨的配置文件是最好的(沒有合併問題)。

最好是那些「價值配置文件」與內容過濾驅動,以結賬自動生成(結合有「污點」腳本的權利和最後(但非版本)配置文件。

查看「Something like gitignore, but not gitignore」更多的問題

相關問題