繁体   English   中英

如何列出Git索引中的所有文件,文件末尾没有换行符

[英]How to list all files in the Git index without newline at end of file

我有一个合并工具,很不幸,该工具会删除文件末尾的换行符。 因此,在使用此工具之后,我需要检查Git索引中的任何文件是否都删除了其尾随的换行符。

git diff --cached显示这些尾随的换行符删除,但它也显示完整的diff。 我想得到一个更简洁的视图,该视图仅列出Git索引中缺少尾随换行符的已更改文件的文件名。

我试图结合git diff --name-onlygit grep ,但是找不到文件末尾没有换行符的正则表达式来检测文件。 即使使用扩展的正则表达式( -E ), git grep似乎也无法识别包括\\Z表达式。

这个相关问题的答案与一些Bash魔术结合在一起,最终使我有了以下解决方案:

for file in $(git diff --cached --name-only); do test $(tail -c 1 $file) && echo $file; done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM