我有一個紅寶石項目,並且數據庫主機和端口在開發和生產上可能會有所不同。我需要一種方法爲這兩種環境的腳本獲取不同的值。如何跟蹤回購/項目中系統特定的配置文件?
該項目應該是完整的 - 所以應該有一些方法來指定默認值。我不希望克隆錯過配置文件。所以完全忽略它們是行不通的。
你如何用git解決這個問題?
我有一個紅寶石項目,並且數據庫主機和端口在開發和生產上可能會有所不同。我需要一種方法爲這兩種環境的腳本獲取不同的值。如何跟蹤回購/項目中系統特定的配置文件?
該項目應該是完整的 - 所以應該有一些方法來指定默認值。我不希望克隆錯過配置文件。所以完全忽略它們是行不通的。
你如何用git解決這個問題?
我會建議使用:
Git解決方案然後是git attribute filter driver(另請參閱GitPro book)。
過濾器驅動程序由一個
clean
命令和命令smudge
,其中任一個可以不指定的。
根據checkout
,當指定smudge
命令時,該命令從其標準輸入中輸入blob對象,其標準輸出用於更新工作樹文件。
同樣,clean
命令用於在檢入時轉換工作文件的內容。
這樣一來,通過塗抹引用的腳本(使用Git管理)可以通過特定的environement值替換所有的變量,而乾淨的腳本將其內容還原到一個不變的配置文件。
當你簽上PROD環境使用Git的回購,塗抹過程中會產生所產生的工作樹刺狀的配置文件。
erm,保留一個分支並將'主'合併到'生產'和'開發'分支中?這可以通過topgit(可能是stgit)自動完成(半) – 2010-08-03 09:53:49