有时人们在提交代码时会无意中更改行尾样式。如何让Git阻止他们这样做?我搜索了这个话题并发现大多数答案都集中在如何将文件转换为特定的行尾样式上。但我不想要这种行为。我只想让提交者遵守原始文件的行尾样式,无论是 \n 还是 \r\n。Git能做到吗?
core.autocrlf
设置为false
,Git不会尝试在任何时候转换任何内容。post-checkout
hook来负责为你记忆这些信息,但那似乎有点过头了。我更喜欢在.gitattributes
文件中为某些类型的文件注册规范化,如本答案的下一部分所示。
您可以在 .gitattributes
文件 中注册您想要的行尾符(针对特定类型的文件),并使用行尾指令:
text
eol
*.sh eol=lf
.gitattributes
文件中注册这些指令的好处是,它将跨存储库克隆保持持久性。