我已经阅读了此答案(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在其内部回购中使用了哪些行结尾?
答案 0 :(得分:2)
我想你会说内部git更喜欢LF。说它“内部使用LF”并不十分准确,因为你可以不配置它。 (例如,如果团队中的每个人都使用Windows,那么你们都会关闭eol规范化,那么git将拥有CRLF eol标记。)
警告说的是,您正在使用换行标准化检查此内容,但它已经有LF。如果你使用autocrlf检查它有效,你将获得CRLF结尾。但是,由于您的工作树中有本地副本,因此它将保持不变。
所以“where”通常是使用autocrlf = true的任何新repo;或者任何同事的回购,如果从git退房为他们本地创建文件