我正在试图弄清楚如何轻松计算未提交索引中的文件.
我试过了:
git status | grep '#' | wc -l
Run Code Online (Sandbox Code Playgroud)
但是有一些行开头#不代表更改的文件.谁有更好的东西?想象必须要有一个标志git status来做到这一点.
即使像GitX这样的工具也不容易让你选择分阶段的文件/目录,看看它们有多少.
mka*_*sek 65
如果你想要一个脚本可以使用的东西:
git diff --cached --numstat | wc -l
如果你想要人类可读的东西:
git diff --cached --stat
fwi*_*wiw 13
对于它的价值,我更喜欢:
git diff --stat | tail -n1
Run Code Online (Sandbox Code Playgroud)
输出类似于:
10 files changed, 74 insertions(+), 123 deletions(-)
Run Code Online (Sandbox Code Playgroud)
小智 10
git status -s | egrep "^M" | wc -l
Run Code Online (Sandbox Code Playgroud)
M在start-of-line(^)之后直接表示分阶段文件.^ M,带有空格,将是一个未分级但已更改的文件.
这有很多答案......但在我看来最好的命令(它不需要任何管道并且是纯本地 git 命令)如下。请注意,这会计算已删除、修改和添加的文件:
git diff --cached --shortstat
Run Code Online (Sandbox Code Playgroud)
输出只有一行:
X files changed, Y insertions(+), Z deletions(-)
Run Code Online (Sandbox Code Playgroud)
如果没有进行任何更改,则不会打印任何内容(甚至不会打印新的空行)。
如何为未暂存的更改获得相同的结果也很明显(只需省略该--cached标志):
X files changed, Y insertions(+), Z deletions(-)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17253 次 |
| 最近记录: |