2012-10-30 23 views
1

我們叫兩個項目A和B.下面是他們中的每一個結構:的Git樹 - 保持資源代碼同步

/ 
|- Foo 
| |- core 
| | |- bar.txt 
| | |- ... 
| |- specific 
|   |- ... 
|- ... 

/美孚/核心的內容/應該是當前和這意味着,如果我編輯項目A中的bar.txt,我應該能夠在同一臺機器上的項目B中獲得該更改,反之亦然。

我試圖創建一個名爲「Core」的項目,並將其設置爲A和B的子模塊。問題是,如果我編輯bar.txt,將其推送到遠程,然後按A,顯然我可以'在項目B上具有子模塊更新的代碼。這不是同一個項目。

我也試過子樹合併。問題是,「核心」不是一個獨立的項目,我不能像現在這樣開發它。這只是資源文件和更大的東西的常用功能。因此,我希望能夠在A和B中編輯我的bar.txt文件,並在此處作爲這個項目的一部分進行測試,具體爲,然後在另一個項目中以某種方式獲取它以測試它。

在Git的書,一章關於subtree merging,它是說:

您可以[...]在您的主分支的rack子目錄更改,然後將其合併到rack_branch分支稍後將其提交給維護人員或將其推送到上游。

但它沒有解釋我應該怎麼做,也不能如何保持我的2本地文件夾同步。

回答

0

子模塊將工作。在對項目A進行處理時,如果對核心項目進行更改,則會推送更改。要更新項目B中的核心,只需將項目B中的Core中的更改提取到項目B中,git add -A && git commit -m "updated core"即可將項目B更新爲最新的核心。