如何获得类似于git add --interactive的摘要?

时间:2014-01-07 14:39:45

标签: git bash shell

我正在寻找一个Bash命令(或命令序列),它打印Git工作副本中更改的文件的摘要。摘要应包括每个文件中的插入和删除次数,以及它们是否已暂存。

命令git add --interactive(与git add -i同义)完全给出了我想要的摘要(以及其他内容)。问题是它不仅仅是打印和退出,它启动了一个完整的非Bash shell。以下是我喜欢的git add -i部分:

bash$ git add -i
         staged     unstaged path
1:    unchanged        +3/-0 trunk/src/analyzer.c
2:    unchanged       +5/-13 trunk/src/converter.c

这是一个很好的总结。不幸的是,在它打印之后,你不会回到Bash。要返回Bash,您需要输入q,然后输入,退出。我真的希望它只打印摘要然后停止。

以下是我的尝试:

  1. 在Bash终端中键入以下内容:git add -i; q。这不起作用,它仍然需要您手动按q,然后由于第二个q而导致错误。

  2. 将以下内容放入脚本gitsummary.sh中,然后运行它:git add -i,最后包含或不包含; q。同样的问题。

  3. 如何以完全非交互方式获取此摘要?我可以想到两种可能的解决方案:

    1. 使用等待几分之一秒的Bash技巧然后模拟按键。

    2. 使用不同的Git命令打印相同的信息,但不会启动一个奇怪的小shell。

    3. 我的主要设置:Mac OS X 10.9和终端(运行/ bin / bash)。

      我的辅助设置:Windows 7或8以及运行Bash的Cygwin。

1 个答案:

答案 0 :(得分:1)

其中任何一个都应该给你你想要的东西:

git diff --numstat
git diff --stat