如果我使用autocrlf
,它看起来像这里
push clone
1) true: x -> LF -> CRLF
2) input: x -> LF -> LF
3) false: x -> x -> x
但我想要使用 CRLF 自动提交 git:
x -> CRLF (if I use LF, it will commit with CRLF)
我能做到吗?
提前感谢!!
编辑:我认为git不支持它,所以我强制将lf
更改为使用crlfcrlf
。
您至少可以在.gitattributes
文件中使用eol
指令确保文件正确签出:
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
此设置强制 Git 在签入时规范化此文件的行尾,并在签出文件时将其转换为 CRLF。
这与git config --global core.autocrlf false
相结合,将确保您的文件在您的工作树中可用。
我希望当我使用 CRLF 或 LF 提交文件时,git 将其更改为 CRLF。
使用上述设置,这似乎是不可能的,因为默认规范化始终是在签入时转换 LF。
这只是为了确保您的文件使用正确的 eol(行尾)签出。
但是,如果要在签入时强制 crlf,则需要手动执行此操作。
尝试:
git config --global core.autocrlf false
确保在任何 .gitattributes 文件中没有任何core.eol
或text eol
指令(以避免任何"重新规范化")
并对使用错误 eol 签出的任何文件进行unix2dos
。
最后,添加并提交:那些带有 CRLF 的文件仍应使用 CRLF 签入。
您可以使用某些模块将LF
更改为CRLF
。
但我认为你不需要改变它,只需使用autocrlf=true