2010-01-14 55 views
5

這裏是場景: 我目前正在自己​​的框架和客戶的網站上工作。下面是結構:在一個文件夾中使用兩個git回購

. 
.. 
_application 
_framework 
_public 

我想有_framework/* _Public/index.php文件和結構_Application在github上(爲空_controllers _models和_views文件夾)回購。另外我想有一個包含所有這些本地的回購。

我明白,與git模塊我可以做到這一點,但查找一些教程後,我仍然不明白這樣做的方式。

有人可以解釋它對我多一點?非常感謝!

+0

這是我做的: 我做了一個目錄,其中包含我的框架的東西。我做了一個git回購。然後我爲我的客戶的項目創建了另一個目錄。我在其中創建了一個回購並克隆了我的github的框架回購。 因爲我這樣做,我可以在我的框架提交的東西沒有被覆蓋。當我直接向框架提交更改時,我將它們提交併推送給它們,並且可以將它們從我的項目目錄中提取出來!我認爲這是個好主意:) – TomShreds 2010-01-14 16:36:46

+0

你的標題有點不清楚。它讓我相信你想要在同一個文件夾中使用兩個git倉庫,但是你在兩個單獨的子文件夾中使用了兩個git倉庫。我實際上想知道是否可以使用兩個單獨的git repos來跟蹤同一文件夾中的不同文件。 – Chad 2013-08-28 13:54:51

+1

@Chad,是的,他們可以:我做了一個腳本來做到這一點:https://github.com/capr/multigit – cap 2015-04-09 06:00:25

回答

7

在我看來,你可以定義每個想要結構一個回購協議,並在超級項目,通過子模塊將它們結合起來。請參閱this question關於子模塊性質的一些細節。

提取物:

子模塊可讓您有一個component-based approach發展,其中主要的項目只涉及到其他組件的具體提交(這裏「聲明爲子模塊等Git倉庫」)。

子模塊是一個標記(提交)到另一個不受主項目開發週期約束的Git存儲庫:它(「其他」Git回購)可以獨立演變。 無論您需要什麼提交,它都可以從其他回購中選擇主項目。但是,如果出於方便,直接從您的主項目中修改其中一個子模塊,Git允許您這樣做,只要您首先將這些子模塊修改發佈到其原始Git倉庫,然後提交您的項目主項目涉及所述子模塊的新版本。

但主要的想法仍然是:參照其特定的組件:

  • 有自己的生命
  • 有自己的一套標籤
  • 有自己的發展

名單您在主項目中提到的特定提交定義了您的configuration(這是配置管理器EMENT是一回事,僅僅包括Version Control System


所以,如果你真的有兩個結構,可以獨立發展一個從另一個子模塊是一個不錯的選擇。

相關問題