理解警告“LF将被CRLF取代”

问题描述 投票:3回答:1

我已经阅读了这个答案(LF will be replaced by CRLF in git - What is that and is it important?)中讨论的Git文档,但我不明白它对我的情况意味着什么。

我有一个LF文件,它是由一个工具引入我在Windows上的git checkout。当我试图提交它们时,我得到了警告warning: LF will be replaced by CRLF in [file]

git config core.autocrlf在这台机器上是真的。无论如何我还是犯了。 Windows上的行结尾仍然是LF。然后我在Linux机器上检出了文件,其中git config core.autocrlf似乎没有设置。我检查了那里的线路结尾,他们也是LF。

所以我不明白的是,在哪里说LF将被CRLF取代?这是否意味着,下次我对文件进行更改(由另一台机器的某个人提交)时,行结尾将被转换?

另外 - Git在其内部回购中使用了哪些行结尾?

git line-endings
1个回答
2
投票

我想你会说内部git更喜欢LF。说它“内部使用LF”并不十分准确,因为你可以不配置它。 (例如,如果团队中的每个人都使用Windows,那么你们都会关闭eol规范化,那么git将拥有CRLF eol标记。)

警告说的是,你正在使用换行标准化来检查它,但它已经有LF。如果你使用autocrlf检查它有效,你将获得CRLF结尾。但是,由于您的工作树中有本地副本,因此它将保持不变。

所以“where”通常是使用autocrlf = true的任何新repo;或者任何同事的回购如果从git退房在本地为他们创建文件

© www.soinside.com 2019 - 2024. All rights reserved.