如何在Git Diff中查看文件新增与删除代码的行号?
获取Git分支间文件变更的具体行号
你当前用git diff master --merge-base --numstat只能得到文件的新增/删除行数统计,要获取具体的变更行号,调整命令参数即可:
基础命令(查看完整变更+行号)
直接去掉--numstat参数,Git默认会输出包含行号标记的补丁内容:
git diff master --merge-base
带统计的增强命令
如果想先看到文件的行数统计,再查看具体的行号和变更内容,可以组合--stat和--patch参数:
git diff master --merge-base --stat --patch
解读行号标记
输出中类似@@ -10,5 +10,6 @@的行是关键行号标记,含义如下:
-10,5:表示master分支的原文件中,从第10行开始的连续5行内容+10,6:表示当前分支的新文件中,从第10行开始的连续6行内容
下方的变更行里:
- 前缀为
-的是原文件中被删除的行,对应原文件的行号可从-X,Y的起始行推算 - 前缀为
+的是当前分支新增的行,对应新文件的行号可从+A,B的起始行推算
举个典型输出示例:
diff --git a/a.yml b/a.yml index 8d3f271..c6a1459 100644 --- a/a.yml +++ b/a.yml @@ -2,4 +2,5 @@ config: port: 8080 + debug: true timeout: 30 - log_level: info
这里的删除行对应原文件的第4行,新增行对应新文件的第3行。
内容的提问来源于stack exchange,提问作者Sachin Kainth
相关产品推荐
相关产品推荐

