Git是否支持类似Bitbucket Web UI的分支对比,显示变更行数与文件操作?
实现分支对比:显示文件操作与变更行数的Git原生命令
完全不用自己折腾Bash脚本!Git本身就内置了现成的参数,完美匹配你的需求——直接用git diff搭配不同选项就能搞定:
1. --stat:直观展示文件操作与变更行数汇总
这是最常用的选项,会列出每个变更文件的操作状态(新增/修改/删除等),以及该文件的总行变更数(用+/-标注新增、删除的行数)。
使用命令:
git diff otherbranch --stat
示例输出参考:
A src/new-feature/Utils.java | 35 +++++++++++++++++++++++++++++++++++ M src/core/Service.java | 12 ++++++------ D src/legacy/OldCode.java | 20 -------------------- README.md | 4 ++-- 4 files changed, 41 insertions(+), 35 deletions(-)
- 文件名前的标识对应操作状态:
A=新增文件,D=删除文件,M=修改文件,还有R=重命名、C=复制等少见但实用的状态。
2. --numstat:精确拆分新增/删除行数
如果需要更细致的统计(单独看到每个文件的新增行数、删除行数),用--numstat选项就对了:
使用命令:
git diff otherbranch --numstat
示例输出参考:
35 0 src/new-feature/Utils.java 6 6 src/core/Service.java 0 20 src/legacy/OldCode.java 2 2 README.md
- 第一列是新增行数,第二列是删除行数,第三列是文件名。
额外实用小技巧
- 对比两个特定分支(而非当前分支与
otherbranch):直接把两个分支名放在命令里就行,比如git diff branch1 branch2 --stat - 加
--color参数让输出带高亮,更易区分不同状态:git diff otherbranch --stat --color - 忽略空格变更干扰:加上
--ignore-space-change,避免无关的空格修改被统计入行数
内容的提问来源于stack exchange,提问作者red888
相关产品推荐
相关产品推荐

