跨Mac上多个存储库的Git状态

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

我已经寻找了一段时间来解决这一问题,但并没有找到我需要的东西。

我在我的Mac(OSX10.6)上的一个文件夹中有几个Git存储库,我想要一个脚本或工具,它将遍历所有的存储库,并告诉我是否需要它们中的任何一个。commit英灵。

这是我的结构

Sites
  /project1
  /project2
  /project3

我想要工具做一个git status在网站/项目1,站点/项目2,站点/项目3中,让我知道其中是否有任何更改或新的文件需要被分阶段或提交。

但是即使是那个脚本也不能运行,我得到了一个错误:

"syntax error near unexpected token `do"

提问于
用户回答回答于

有一个基于Python的程序,uncommitted听起来就像你想做的那样。目前还没有git支持(只有HG和Subversion),但是可以帮助作者在他的应用程序中实现git支持,或者将他的想法作为实现你的东西的方法(他在我链接的项目页面上记录了他的查找方法)。

用户回答回答于

这个问题似乎已经得到了很好的回答,但我想在做完同样的事情后再加两分钱。

通过使用简单的bash脚本,我更接近jcordasc的答案。我只是做了一件有点不同的事。查看git的帮助文档,可以设置git目录和工作目录。这消除了对目录的“cd”的需要。并不是说它真的有那么大的区别.

#!/bin/bash

for gitdir in `find ./ -name .git`; 
    do 
        workdir=${gitdir%/*}; 
        echo; 
        echo $workdir; 
        git --git-dir=$gitdir --work-tree=$workdir status; 
    done

显然,他的更先进/更清洁,因为它是如何显示的地位‘..。

扫码关注云+社区