2012-11-12 66 views
19

我使用的是Ubuntu,我有一個文件夾gitrepos,它有許多來自github的git repos的克隆。多個git拉在一個文件夾中包含多個存儲庫

我想要一個腳本,它可以在我的所有回購站中自動執行git pull。

[gitrepos] 
    [repo1] 
    [repo2] 
    [repo3] 
    ... 

我想一個腳本來從所有repox
注意回購名稱不同做一個混帳拉。

任何shell或py腳本可用於此?

+0

請通過發佈一些適用於該問題的[正確格式化](http://stackoverflow.com/editing-help)代碼來改善您的問題。 –

+3

我不認爲這個問題應該被關閉,我有完全相同的問題。沒有可以發佈的代碼,他的問題更多的是如何管理多個git存儲庫,我覺得這是明確的 –

+1

結算'mr'由opqdonut建議。步驟 1)下載mr並將其添加到您的路徑 2)導航到每個git倉庫並輸入'mr register' 3)鍵入mr update,它將對您的所有倉庫執行git pull。 超方便,很好的問題 –

回答

15

東西線這會工作:

從〜/ gitrepos:

for REPO in `ls`; do (cd "$REPO"; git pull); done; 

從任何地方:

for REPO in "`find ~/gitrepos -maxdepth 0 -type d`"; do (cd "$REPO"; git pull); done; 
+0

而不是在find的輸出上使用for循環,你可以這樣:'find ... -exec sh -c'cd $ 0 && git pull'{} \;' –

+0

'ls *'似乎列出從我的'〜/ git /'文件夾運行時會出現repo子目錄。可能不是谷歌正在尋找的東西。 – ThorSummoner

17

看一看mr,工具意味着正是這一點。

+0

奇妙的工具。令人驚歎的爲我工作!我現在可以在一行中更新我的團隊正在開發的所有34個存儲庫:「mr update」 –

+0

這正是我所期待的! – dylanjameswagner

相關問題