如何使用 CRLF 强制 git 提交?
How to force git commit with CRLF?
如果我使用autocrlf
,它看起来像这里
push clone
1) true: x -> LF -> CRLF
2) input: x -> LF -> LF
3) false: x -> x -> x
但我想要 git 使用 CRLF 自动提交:
x -> CRLF (if I use LF, it will commit with CRLF)
我可以吗?
提前致谢!!!
编辑:我认为 git 不支持它,所以我强制将 lf
更改为 crlf
crlf。
您至少可以确保文件已正确签出,eol
directive in a .gitattributes
file:
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
This setting forces Git to normalize line endings for this file on checkin and convert them to CRLF when the file is checked out.
结合 git config --global core.autocrlf false
可以确保您的文件在您的工作树中可用。
I want when I commit file with CRLF or LF, git change it to CRLF.
使用上面的设置,这似乎是不可能的,因为默认规范化总是在签入时转换为 LF。
这只是为了确保您的文件使用正确的 eol(行尾)签出。
但是如果你想强制 crlf 签入,你需要手动执行。
尝试:
git config --global core.autocrlf false
确保在任何 .gitattributes 文件中没有任何 core.eol
或 text eol
指令(以避免任何 "renormalization")
并对任何使用错误的 eol 签出的文件执行 unix2dos
。
最后,添加并提交:那些带有CRLF的文件仍然应该用CRLF签入。
您可以使用一些模块将 LF
更改为 CRLF
。
但我认为你不需要更改它,只需使用 autocrlf=true
如果我使用autocrlf
,它看起来像这里
push clone
1) true: x -> LF -> CRLF
2) input: x -> LF -> LF
3) false: x -> x -> x
但我想要 git 使用 CRLF 自动提交:
x -> CRLF (if I use LF, it will commit with CRLF)
我可以吗?
提前致谢!!!
编辑:我认为 git 不支持它,所以我强制将 lf
更改为 crlf
crlf。
您至少可以确保文件已正确签出,eol
directive in a .gitattributes
file:
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
This setting forces Git to normalize line endings for this file on checkin and convert them to CRLF when the file is checked out.
结合 git config --global core.autocrlf false
可以确保您的文件在您的工作树中可用。
I want when I commit file with CRLF or LF, git change it to CRLF.
使用上面的设置,这似乎是不可能的,因为默认规范化总是在签入时转换为 LF。
这只是为了确保您的文件使用正确的 eol(行尾)签出。
但是如果你想强制 crlf 签入,你需要手动执行。
尝试:
git config --global core.autocrlf false
确保在任何 .gitattributes 文件中没有任何 core.eol
或 text eol
指令(以避免任何 "renormalization")
并对任何使用错误的 eol 签出的文件执行 unix2dos
。
最后,添加并提交:那些带有CRLF的文件仍然应该用CRLF签入。
您可以使用一些模块将 LF
更改为 CRLF
。
但我认为你不需要更改它,只需使用 autocrlf=true