Git:使用 git hook 将回车符\r 转换为新行\n?

标签 git githooks newline

一位同事使用 Windows 计算机,在我们的源代码中到处都放回车符。

有没有办法写一个git钩子(Hook),把所有的\r\n都转换成\n

注意 我以前没有使用过 git hooks,所以多加一些帮助可能会有很长的路要走:)

最佳答案

最简单的就是set core.autocrlf to false在 Windows 端。
(这样 Git 就不会做任何转换,并且会保持 eol 不变)。

在 unix 端,将 core.autocrlf 设置为 true 可以帮助恢复正确的 eol。
作为mathepic在评论中提到,并作为I described in this SO answer , 从 Git1.7.2 开始,你可以使用 core.eol (to native),保持 core.autocrlf 为 false。

否则你可以使用 text driver or a filter driver with gitattributes files .
不需要 Hook 。

关于Git:使用 git hook 将回车符\r 转换为新行\n?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858931/

相关文章:

git - TFS/ Visual Studio 2015 : how to compare file changes between 2 commits

git - 设置Git来管理远程网站

java - Java中有 "oldline"字符吗?

Java:每第 309 个字符后插入换行符

c - 为什么直接给出字符串和读取字符串时strlen返回不同的值?

git - 链接 Bitbucket Git 存储库上的最新文件

git - 如何使用 svn2git 将 svn 存储库迁移到 git?

git - 在 github 分支上重新设置

git hooks - 重新生成一个文件并将其添加到每个提交?

Git:预接收钩子(Hook)只允许 merge 而不是直接提交到主