2012-12-18 21 views
1

我不確定這是否正確地屬於這裏或在Drupal StackExchange站點。如何使用Git來管理我在多個站點上使用的自定義Drupal模塊代碼?

我是一家小公司的獨資開發者。我們有幾個Drupal 7站點。我已經構建了幾個用於大多數網站的自定義模塊。我是一個有git的相對新手。

該網站在git。每個站點的根目錄是它自己的存儲庫。幾乎所有的東西除了/ sites/default/files都在每個網站的git中。我使用drush來更新contrib模塊和核心,然後提交該網站的所有更改。

這似乎是一個簡單的問題,但我努力尋找(可能是明顯的)答案。

我該如何構建事物,以便在自己的存儲庫中維護自己的自定義模塊?現在我只需在每個網站上有多個自定義模塊副本。他們與網站的其他部分一起承諾,但當然不是這樣做的方式。模塊代碼在網站之間不同步等。我顯然需要在一個地方處理模塊,並將更新導入到各個站點。

我應該爲我的自定義模塊開發製作一個網站,併爲我的每個模塊創建存儲庫嗎?我的意思是從上面目錄中的「git init directory_name」,我的模塊將這些現有模塊轉換成存儲庫。然後添加,提交等,並推送到我的遠程回購。

我很困惑我需要什麼,然後在網站上能夠拉動更新。我需要網站上的Git子模塊嗎?

感謝

回答

1

你或許應該設置一個主混帳回購協議爲你的模塊,保持它在遠程服務器上的某個地方(git的樞紐,到位桶,等...)。然後,工作流將如下所示:

  1. 對任何網站進行更改。
  2. 提交更改。
  3. 將更改推送給主回購。
  4. 從其他需要這些更改的網站提取更改。
+0

謝謝馬克。我確實爲遠程服務器上的每個站點設置了「倉庫」。這是我自己的,我用SSH連接。我仍然有點困惑。假設我有站點A,B和C以及模塊X,Y和Z.假設我在站點A中使用模塊X.然後,我將所有站點A提交併推送到服務器倉庫。然後我將這些更改拖到我的臨時站點A上。這一切都工作。我得不到的是如何將模塊X更改(站點/所有/模塊/定製/模塊X)到站點B和C. – tetranz

+0

然後,您需要做的就是克隆每個站點上的模塊。困難的部分是讓他們全部同步。 – Mark

+0

Opps,在完成之前我保存了我的評論。也許一個愚蠢的問題,但你是什麼意思的「克隆」。你是指git意義上的「克隆」還是僅僅複製到其他網站? – tetranz

相關問題