- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有什么方法可以在一次运行中获得运行 git diff --numstat
和 git diff --name-status
的输出?
我的问题是,如果我只使用 --numstat
那么我不知道是否刚刚向文件添加了一些新行或者文件是否是全新的。使用 --name-status
时,我会得到文件是否新的信息,但缺少有关行修改的统计信息。
目前,我的解决方法是分别运行这两个命令,然后通过 PowerShell 脚本 merge 该输出,但由于存储库相当大,我希望首先获得所需的输出。在此先感谢您的帮助!
最佳答案
您可以结合使用 --numstat
和 --summary
标志;
git diff --numstat --summary
请注意,新文件不能位于“未暂存”区域;所以假设您使用了“git add”和“git rm”,那么您的 git status 将如下所示:
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: b
# deleted: a
然后使用
git diff --cached --numstat --summary
会给你:
540 0 b
0 3 a
create mode 100644 b
delete mode 100644 a
注意:您可以结合使用 --numstat
和 --summary
标志与 git diff
、git diff --cached
、git show
以及其他可能的命令。
关于git diff --numstat 与 --name-status,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35452951/
我运行这个命令: git log HEAD --numstat --pretty="%ae" | cat 我看到了这个: 6 4 frontend/src/Frontend.h
我正在尝试运行 git diff --no-index --numstat 在 Linux(Debian Docker 容器)上,但我找不到实现此目的的方法。本质上,我想将文件的内容作为字符串而不是
有什么方法可以在一次运行中获得运行 git diff --numstat 和 git diff --name-status 的输出? 我的问题是,如果我只使用 --numstat 那么我不知道是否刚刚
我正在比较具有相同选项的 git show 和 git log。我在不同的提交上得到不同的结果。我还没有真正深入研究文档来弄清楚这是为什么,但我猜这与每个命令如何解释修订列表以及提交图的样子有关?例如
我正在编写一个脚本来分析对 git repo 所做的更改。 在某些时候,我需要遍历所有提交并获取有关每个提交的这些信息: 提交 ID 日期 提交消息 ... 文件已更改 文件名 更改类型(添加/修改/
对于提交的所有文件,我想要状态修饰符 --name-status 提供,以及添加和删除的行数 --numstat 给出。假设我有以下内容: > git log --pretty=format:"%aN
我是一名优秀的程序员,十分优秀!