繁体   English   中英

git确保每个文件末尾的换行符

[英]git ensure newline at end of each file

git不喜欢不以换行符结尾的文件(例如,请参阅此问题 )。 假设我想清理我的存储库并确保每个文件使用换行符正确结束(不添加无用的换行符),是否有某种工具或命令可以帮助我这样做?

for f in $(git grep --cached -Il ''); do tail -c1 $f | read -r _ || echo >> $f; done

说明

  • git grep --cached -Il ''列出git索引中的所有文本文件( 链接
  • tail -c1读取最后一个字符
  • read builtin如果在找到\\n之前检测到EOF ,则退出非零
  • echo >> $f仅在读取命令失败时执行

ps:灵感来自https://backreference.org/2010/05/23/sanitizing-files-with-no-trailing-newline/

暂无
暂无

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

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