如何使用git diff仅查看两个分支间文件的新增行?
只查看Git分支间文件新增行的方法
你可以通过以下几种方式过滤git diff的输出,只保留目标文件的新增行:
方法1:利用Git内置过滤参数
直接使用git diff的--diff-filter=A参数指定只显示新增内容,搭配--no-prefix可以去掉分支前缀,让输出更简洁:
git diff --diff-filter=A --no-prefix main..feature input.txt
如果需要查看新增行的上下文(比如前后n行),可以添加-U<n>参数,例如显示新增行的前1行上下文:
git diff --diff-filter=A -U1 main..feature input.txt
方法2:用Grep过滤输出
通过文本过滤工具筛选结果,只保留以+开头的行(排除diff头部的+++标识行):
git diff main..feature input.txt | grep '^+' | grep -v '^+++'
grep '^+':匹配所有以+开头的行grep -v '^+++':移除diff文件头里的+++ <文件名>行
方法3:从提交维度查看新增内容
如果想基于提交记录查看新增行,可以用git log配合参数:
git log --oneline --patch --diff-filter=A main..feature -- input.txt
该命令会列出feature分支相对main分支的所有提交,并只展示每个提交中新增的内容。
内容的提问来源于stack exchange,提问作者Zykxpython
相关产品推荐
相关产品推荐

