2014-09-03 61 views
1

我的計算機上有140個git回購站,我每週可以處理10-15個回收站。有沒有辦法知道如果忘記提交/推送我的一個項目?檢查多個存儲庫中是否需要推送/提交

這些存儲庫都在相同的地方:「C:/ Projects」。

的輸出會是這樣的

  1. C:/項目/ LIB1 - >提交併推送需要
  2. C:/項目/ lib6 - >提交併推送需要
  3. C:/項目/ lib11 - >提交併推送所需

謝謝!

+0

我建議你實現一個簡單的腳本,它可以運行命令行客戶端並解析其輸出或使用某些庫(比如說libgit2)來執行相同的操作。什麼阻止你? – Isantipov 2014-09-03 14:25:23

+1

是的,我計劃那種腳本,但是我想知道是否有東西已經被編碼。 – 2014-09-03 14:30:04

+0

檢查http://gitslave.sourceforge.net/在存儲庫相互關聯的情況下,它允許多個倉庫操作 – CharlesB 2014-09-04 07:42:16

回答

4

一個非常簡單的Python腳本會爲你做它:

import glob 
import subprocess 
import os 
from os.path import dirname 


dirs = glob.glob('c:/projects/*/.git') 

for dir in dirs: 
    dir = dirname(dir) #strip .git off the end 

    os.chdir(dir) 

    status = subprocess.check_call(('git', 'status')) 

    # Check status, and potentially do this 

    subprocess.check_call(('git', 'add', '-A')) 
    subprocess.check_call(('git', 'commit', '-m', 'Automatic Commit')) 
    subprocess.check_call(('git', 'push', 'origin', 'HEAD')) 

這幾乎是它。你需要在你的計算機上安裝python,然後調整它。

+0

我將使用這個腳本,謝謝! – 2014-09-03 14:39:39

相關問題