gpt4 book ai didi

git - 如何在文件末尾没有换行符的情况下列出 Git 索引中的所有文件

转载 作者:行者123 更新时间:2023-12-05 07:57:13 26 4
gpt4 key购买 nike

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

git diff --cached 显示这些尾随换行删除,但它也打印完整的差异。我想要一个更简洁的 View ,它只列出 Git 索引中缺少尾随换行符的已更改文件的文件名。

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

最佳答案

结合 this related question 的答案借助一些 Bash 魔法,我最终找到了这个解决方案:

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

关于git - 如何在文件末尾没有换行符的情况下列出 Git 索引中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27624800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com