2016-11-11 76 views
0

我有一些關於在git倉庫中管理配置文件的問題。管理倉庫中的項目配置文件

問題1:假設我們在主,看起來像這樣(變量只是宣告但尚未定義!)有.env

XXX_CLIENT_ID= 
XXX_SECRET= 

這時,有人拉主,創建本地分支,改變.env,做一些提交然後想合併爲主。 master分支在合併期間如何忽略.env文件中的更改?是git update-index --assume-unchanged解決了這個問題,或者可能是我們可以更好地處理它?

問題2:好吧,讓我們看看我們團隊中想要共享配置的情況,例如.dev.env。像在問題1在主文件中我們有類似.env沒有值的文件,但我們希望在團隊中分享它,並且它應該是公開的,因爲主人仍然公開。它看起來像git-secret做這項工作,但我想聽聽你今天用來解決這個問題。

任何好主意或最佳實踐如何在團隊中管理它?

回答

0

對於問題1: 一個好的做法是將代碼和配置分開。在保存代碼的存儲庫中,我有一個.env.sample文件,該文件指定應用程序期望設置的配置變量(可能使用默認值)。 克隆或從本地主分支的人可以在.env文件中指定其屬性值,該文件被添加到.gitignore,因此不會影響git樹。當開發人員在本地測試應用程序時,它使用.env中的配置,該配置特定於開發人員的環境。

這樣就可以保持一個.env.sample文件中高手指示公衆需要什麼樣的配置,但仿製商需要指定自己的.env對當地環境

開發者只編輯.env.sample文件如果添加配置/刪除(這是需要合併回主的信息)