检查多个存储库中是否需要推送/提交

时间:2014-09-03 14:20:35

标签: git

我的计算机上有140个git repos,我每周可以处理10-15个。有没有办法知道如果忘记提交/推送我的一个项目?

这些存储库都在同一个地方:“C:/ Projects”。

输出类似于

  1. C:/ Projects / lib1 - >提交和推送所需
  2. C:/ Projects / lib6 - >提交和推送所需
  3. C:/ Projects / lib11 - >提交和推送所需
  4. 谢谢!

1 个答案:

答案 0 :(得分: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,然后再调整它。