我們有幾個項目共享大部分代碼/配置文件。我們使用的框架具有特定的目錄和文件依賴性,這限制了我們可以分離通用代碼的程度。例如, '普通', '了projectA' 和 '項目B' 之間,我們可能有:使用通用代碼的Git項目
/了projectA
- /shared_dir1
- 庸俗的
- fileA1
- fileA2
- /common_dir2
- common2
- /DIR3
- fileA3
- common3
- fileA4
/項目B
- /shared_dir1
- 庸俗的
- fileB1
- /common_dir2
- common2
- /DIR3
- fileB2
- fileB3
- common3
- fileB4
- fileB5
我們目前與3個的Git項目管理這樣的: '通用', '了projectA' 和 '項目B',與普通的文件分離到 '共同' 和項目特定的文件在自己的項目中。 'projectA'和'projectB'有一個.gitignore,其中包含所有常見目錄的條目和每個共享目錄下的所有常用文件。腳本將'common'複製到您想要工作的項目中,並在那裏完成開發。一旦完成更改,另一個腳本會將所有常見目錄和常用文件複製回「常用」。然後通過'git status'可以看到'common'和項目的變化。
這顯然伴隨着在'common',keep .gitignore精確和在'projectA'和'projectB'內切換分支之間來回複製的頭痛。然而,當我們計劃'projectC-F'時,這種方法看起來不錯,因爲我們可以避免將常見變更合併到N個項目中。
尋找如何更好地維護這種類型的結構的建議。鑑於沒有隔離,子模塊似乎是可撤銷的,除非我們做了大量的隔離。我已經看到了一些使用符號鏈接的有希望的替代方案,但是它也帶有問題。任何意見,將不勝感激。
你有沒有想出一個辦法來管理你的項目? – maguirre 2015-06-30 21:02:26