2009-09-15 66 views
4

在Git中,我如何組織工作來跟蹤庫的本地配置文件,這是一個git子模塊?如何跟蹤Git中子模塊的配置文件?

在細節:

圖書館有被跟蹤的是在它的文件夾,但沒有被跟蹤,爲了避免重置或覆蓋它們(他們中列出的正常文件,默認配置文件的.gitignore)。所有文件都在lib的文件夾或子文件夾中。

我就開始跟蹤項目,即得使用此lib中,在Git中的一個。現在有一個兩難境地:

  • 如果我在這個項目中的子模塊的lib,我將無法跟蹤配置文件(Git會忽略他們,因爲他們是在子模塊文件夾)。

  • 跟蹤一切,因爲一個大項目是一個壞主意,因爲我明白了。

  • 如果我在圖書館跟蹤配置文件,我怎麼能避免重置它們爲默認值?我是否在工作項目中建立一個分支,並且每次都從主服務器拉出來?那麼,如果我編輯庫和其中的配置文件呢?這必然會導致合併衝突,不是嗎?

我想這不是新的,但我找不到任何建議。我會很高興從你的經驗中學習。

回答

2

跟蹤主項目目錄您的配置文件,並把符號鏈接到庫中的子目錄?

git add lib.conf 
ln -s ../lib.conf lib/ 

還是我想念什麼?

+0

酷!該死,我仍然像在Windows一樣思考! – 2009-09-15 20:12:57

3

使用子模塊時,應避免因容器(此處爲:使用lib的項目)進行任何修改,因爲它會在子模塊的歷史記錄上創建新的修訂版本。

這將是可能的,例如,對於lib下,參考配置模板文件可以是基礎:

  • 默認值的配置文件代(的lib有存檔的默認值文件,它可以用來生成一個完整但未被跟蹤的配置文件)
  • 或自定義配置文件的生成(該項目有它自己的配置文件值,並使用它在lib中的同一位置生成一個未被跟蹤的配置文件)

「我在這個SO question about merge management中建議的方法是」一個帶有標記值的配置文件模板,以及一個將該config.template文件轉換爲私有(並且被忽略)配置文件的腳本「。在配置文件

其他一般建議可以在這個SO question找到。

+0

感謝您的鏈接! – 2009-09-15 20:17:52