繁体   English   中英

如何使用 CRLF 强制 git commit?

[英]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

但我想使用 CRLF 进行 git 自动提交:

x -> CRLF (if I use LF, it will commit with CRLF)

我可以做吗?

预先感谢 !!!

编辑:我想混帐不支持它,所以我力变化lfcrlfCRLF

你至少可以确保文件被正确签出, .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.eoltext eol指令(以避免任何“重新规范化”)

并对使用错误 eol 检出的任何文件执行unix2dos

最后,添加并提交:那些带有 CRLF 的文件仍应使用 CRLF 签入。

您可以使用某个模块将LF更改为CRLF

但我认为你不需要改变它,只需使用autocrlf=true

暂无
暂无

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

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