由于存储库非常庞大,追踪变化就变得十分困难。
Github
每个文件显示一个统计信息(修改的总行数;也包括添加或删除的行数)。我们能否在终端中列出所有处于脏状态(未提交和未暂存)的文件(存储库中的)相对于上次本地提交的统计信息(只有一个数字)?
答案1
不是直接的——最好的近似值是
git diff --numstat
它给出了两个数字:添加和删除的行数。你可以像这样将这两个数字相加:
git diff --numstat | awk -F '\t' '{print $1+$2, $3}'
将在工作树和索引之间进行差异分析。您可以选择添加索引与 HEAD 比较的diff
选项,也可以只添加工作树与 HEAD 比较的选项。但据我理解,您的问题“工作树与 HEAD 减去索引”是不可能的。--cached
HEAD
因此完整的命令是:
git diff --numstat --cached | awk -F '\t' '{print $1+$2, $3}'
git diff --numstat HEAD | awk -F '\t' '{print $1+$2, $3}'