如图所示,我想查看自上次提交以来修改的文件列表git status
,但我只关心位于单个目录中的文件。有没有办法做到这一点?我试过git status <directory>
了,但这似乎做了一些完全不同的事情(列出所有更改的文件,就像我git add <directory>
先写的那样)。
git-status 的文档并没有说明太多,除了它接受与 git-commit 相同的选项(但 git-commit 的目的不是显示已更改文件的列表)。
从目录中:
git status .
您可以真正使用任何路径,请使用以下语法:
git status <directoryPath>
例如路径为“my/cool/path/here”的目录
git status my/cool/path/here
git status
采用与 相同的选项的原因git commit
是,目的git status
是显示如果您使用与传递给相同的选项进行提交会发生什么git status
。在这方面git status
是真的git commit --preview
。
为了得到你想要的,你可以这样做显示分阶段的变化:
git diff --stat --cached -- <directory_of_interest>
这显示了未分级的更改:
git diff --stat -- <directory_of_interest>
或者这个同时显示:
git diff --stat HEAD -- <directory_of_interest>
最简单的解决方案:
git status | grep -v '\.\.\/'
当然,这会丢弃颜色。
请注意,如果您简化检查 git stats 而无需转到 git 目录;
### 创建文件 须藤纳米/usr/local/bin/gitstat ###把这个放进去 #!/usr/bin/env bash 目录=$1 如果 [[ $dir == "" ]]; 然后 echo "需要目录!" 出口 菲 echo "'$dir' 的 Git 统计信息。" git --git-dir=$dir/.git --work-tree=$dir diff --stat ### 给执行权限 sudo chmod +x /usr/local/bin/gitstat
并调用那个简单的脚本:gitstat /path/to/foo-project
. 你也可以在foo-project
做的时候使用它gitstat .
,所以假设比 短git status -s
,git diff --stat
或者git diff --stat HEAD
如果你总是使用控制台而不是 gui。
学分: