我們正在開發產品,我們使用Git作爲SCM。該產品的每個小版本都位於其單獨的分支中。作爲一名開發人員,我有自己的一套數據庫,每個小版本都有一套數據庫。我也有一個專用的配置文件,它被Git忽略,它指定要使用哪個數據庫。但是,因爲它被Git忽略,所以無論我現在在哪個分支上都保持不變。這是不好的,因爲如果配置文件說要使用數據庫db_1_2(它用於分支1.2),切換到分支1.3將使配置文件仍然指向數據庫db_1_2。我可以在不同的git分支中使用不同的私人配置文件嗎?
我目前有一段代碼可以讀取並解析分支標識符,以設置正確的數據庫,但它很容易出錯,因爲Git標識符有很多種類,其中大部分都很難/不可能從中解析正確的分支名稱。
我可以問產品本身,但並非所有的舊版本都有一個靜態的getVersion()方法。
所以我的問題是這樣的:有沒有什麼好的,乾淨的方式來讓私人配置文件屬於某個分支,但是當推送到遠程/中央回購站時,不會讓它成爲最終產品?
問得好副作用。我的做法是解析'git branch'的輸出,但這可能就是你現在正在做的。 – bitmask 2012-04-02 20:26:04
是的,那就是我現在正在做的。當「git name-rev -name-only HEAD」產生類似「1.2」的東西時效果很好,但是當檢查某個提交或者等分時,這一切都會消失。 – 2012-04-02 20:48:33
你有沒有考慮過使用子模塊? – Nic 2012-04-02 20:57:06