我有一个版本库,其中有许多文件只有EOL空白的变化,但有些文件有实际的变化。 我试图制作一个别名,以便在vim标签中只打开有实际变化的文件的差异,作为其中的一部分,我正在运行一个叫做 git diff --name-only ...
命令来获取已更改的文件列表,以便我可以在标签页中打开它们。
我的问题是 --ignore-space-at-eol
, --ignore-space-change
和 --ignore-all-space
搭配 --name-only
.
当我运行下面的命令时,什么也没有打印出来 (my_file
有一个CRLF变化)。)
git diff --ignore-space-at-eol my_file
但当我运行这个时,我得到 my_file
打印出来。
git diff --ignore-space-at-eol --name-only my_file
有没有什么方法可以只得到没有空格变化的文件名? 这在我看来是个bug,但我一直没找到类似的问题。
我使用的是git 2.25.0版本。
你将需要。
git diff -–name-only
git diff --ignore-space-at-eol my_file
但如果你想在有实际变化的情况下才执行第二次差异,则用测试(在此),使用 --quiet
选择权:
if ! git diff --quiet --ignore-space-at-eol my_file; then
git diff --ignore-space-at-eol my_file
fi