小编典典

我可以让“git diff”只显示行号和更改的文件名吗?

all

这个问题需要“行号”。
如果您不关心输出中的行号,请参阅此问题和答案


基本上,我不想看到更改的内容,只是文件名和行号。


阅读 213

收藏
2022-04-21

共1个答案

小编典典

注意:如果您 只是在查找已 更改文件的名称( 没有 已更改行的 行号),请在此处查看另一个答案。

采用:

git diff --name-only

去区分吧!


没有内置选项(我认为它也不是很有用),但 可以 在 Git 中通过“外部差异”脚本来实现。

这是一个非常糟糕的;您可以按照自己喜欢的方式修复输出。

#! /bin/sh
#
# run this with:
#    GIT_EXTERNAL_DIFF=<name of script> git diff ...
#
case $# in
1) "unmerged file $@, can't show you line numbers"; exit 1;;
7) ;;
*) echo "I don't know what to do, help!"; exit 1;;
esac

path=$1
old_file=$2
old_hex=$3
old_mode=$4
new_file=$5
new_hex=$6
new_mode=$7

printf '%s: ' $path
diff $old_file $new_file | grep -v '^[<>-]'

有关“外部差异”的详细信息,请参阅Git
手册页
GIT_EXTERNAL_DIFF上的描述(大约第 700
行,非常接近结尾)。

2022-04-21