2013-02-23 54 views
1

我已經克隆了一個存儲庫,其中有子模塊,子模塊都已被git-inited和git-updated。經過改變已經被推到一個或多個子模塊(由另一臺機器),我運行此命令:Git子模塊Foreach Pull的語法?

git submodule foreach git pull origin master 

以獲得最新的本地 - 但是當我進入我的子模塊,並做了git status我得到一個「不目前在任何分支「消息。然後,我必須執行git checkoutgit pull的組合以重新回到子模塊的主分支。

如果我的目標是在所有子模塊上執行「從主分支獲取最新信息」,那麼正確的foreach命令是什麼?實施例

編輯:

考慮一下:

  1. 我有一個存儲庫A,與子模塊B和兩臺機器,Z和Y
  2. 我克隆庫和子模塊到ÿ和Z.
  3. 我在Y上對B進行更改並將其推回服務器。

現在,我要求的是將Z更新爲最新並獲得B中最新更改的語法 - 以便可以擴展多個子模塊。

回答

1

如果我正確地理解了您,您希望獲得所有子模塊上的所有更改併合並它們。如果是這樣的話git submodule update --merge應該可以做到。不知道爲什麼你甚至試圖在那裏使用foreach。

+0

我試過,但我仍然堅持在我的子模塊內的「目前沒有任何分支」消息。我希望我的子模塊在其各自的主分支上。 – 2013-02-24 19:45:10

+0

呵呵,正如文件中所說的那樣,不應該發生什麼。 – Learath2 2013-02-25 14:31:54