首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Mac上多个存储库的Git状态

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

Stack Overflow用户
提问于 2010-05-04 20:34:59
回答 11查看 6.8K关注 0票数 18

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

我有几个Git存储库在我的Mac (osx10.6)上的一个文件夹中,我想要一个脚本或工具,它将循环通过所有的存储库,让我知道其中任何一个需要commit

这是我的结构

代码语言:javascript
复制
Sites
  /project1
  /project2
  /project3

我希望该工具在Sites/project1、Sites/project2、Sites/project3中执行git status,并让我知道其中是否有需要暂存或提交的更改或新文件。

我找到的最接近的脚本可能是可破解的is here,,但即使是那个脚本也不能运行,我得到了一个错误:

“意外标记‘`do’附近出现语法错误”

它可能是为*nix编写的。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2010-05-06 10:28:30

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

票数 13
EN

Stack Overflow用户

发布于 2010-06-09 00:44:59

这个问题似乎已经得到了很好的回答,但在做完同样的事情后,我想提出我的两点看法。

我使用一个简单的bash脚本更接近jcordasc的答案。我只是做了一件有点不同的事情。查看git的帮助文档,您可以设置git目录和工作目录。这样就不需要'cd‘到目录了。并不是说它真的有那么大的不同。

代码语言:javascript
复制
#!/bin/bash

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

显然,他在显示状态方面更先进/更干净……

票数 25
EN

Stack Overflow用户

发布于 2012-06-29 22:04:03

这是一个更老的问题,但我更新了jcordasc的答案,使其适用于git 1.7.7.5,我想我也可以在这里贡献它:

https://gist.github.com/3018100

这个版本接受任何一个或多个路径作为参数,并给出jcordasc在参数表示的文件树中的任何位置找到的任何git存储库的输出。它还支持检测未推送和未合并的提交。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2765253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档