相对于当前脏状态,上次提交的修改次数超过‘n’次的文件的 Git 列表

相对于当前脏状态,上次提交的修改次数超过‘n’次的文件的 Git 列表

由于存储库非常庞大,追踪变化就变得十分困难。

Github每个文件显示一个统计信息(修改的总行数;也包括添加或删除的行数)。我们能否在终端中列出所有处于脏状态(未提交和未暂存)的文件(存储库中的)相对于上次本地提交的统计信息(只有一个数字)?

答案1

不是直接的——最好的近似值是

git diff --numstat

它给出了两个数字:添加和删除的行数。你可以像这样将这两个数字相加:

git diff --numstat | awk -F '\t' '{print $1+$2, $3}'

将在工作树和索引之间进行差异分析。您可以选择添加索引与 HEAD 比较的diff选项,也可以只添加工作树与 HEAD 比较的选项。但据我理解,您的问题“工作树与 HEAD 减去索引”是不可能的。--cachedHEAD

因此完整的命令是:

git diff --numstat --cached | awk -F '\t' '{print $1+$2, $3}'
git diff --numstat HEAD | awk -F '\t' '{print $1+$2, $3}'

相关内容