2012-07-16 33 views
0

我有一個添加子模塊的項目。事情是,我總是希望這些子模塊與當前版本保持同步。我如何總是告訴這些子模塊尋找最新的提交併與它們自己同步?如何讓腳本更新git子模塊?

回答

2

git submodule foreach真的很方便。

git submodule foreach git pull 

這將在所有子模塊中執行拉(即取/合併)。

+0

是否會更新子項目提交版本? – Yep 2012-07-16 21:46:41

+0

'git submodule foreach git pull origin master'可能更合適... – Yep 2012-07-16 21:54:38

+1

是的,它主要是我試圖解釋的foreach函數。 – 2012-07-16 21:55:22

0

子模塊,尋找最新的承諾,並與之同步自己是

馬庫斯·約翰遜的回答解釋瞭如何使子模塊獲取到最新的爲各自的來源(如果你的主要項目是遊戲,但它包含一個圖形和邏輯庫作爲子模塊,那麼圖形和邏輯庫將是最新的)。

如果你希望你的子模塊進行更新,以通過您的主項目(「遊戲」在我的例子)使用了最新的,那麼你可以使用

git pull --recurse-submodules 

當你更新你的主要項目也更新子模塊。此外,您始終可以使用

git submodule update --init 

將您的子模塊更新到主項目的版本。

當你的主要項目需要保持同步的庫版本(如果更新庫改變了他們的API,你只需要更新,如果有人更新了主要項目匹配),這非常有用。請參閱this answer