does a git repository have its own local value for core.autocrlf that overrides the global one?

StackOverflow https://stackoverflow.com/questions/12340429

  •  01-07-2021
  •  | 
  •  

문제

As per this question, I understand that core.autocrlf=true in git will cause CRLF to LF translations.

However when I type : git config core.autocrlf

I see: false

However, when I stage modified files that are already in the repo, I still get these warnings:

Warning: CRLF will be replaced by LF in File1.X.
The file will have its original line endings in your working directory.

My guess is that the repo copy of the file is already set to "autocrlf=true".

Questions: A. How do I query whether a file or git repo is already forcing AutoCrlf? B. How do I turn it autocrlf off?

도움이 되었습니까?

해결책

Git allows you to override your global setting on a per-repository basis with a .gitattributes file. You put it in the root directory of the repository, and becomes a file committed as part of the repository. I suspect this is happening in your case.

Github has a good page on this: https://help.github.com/articles/dealing-with-line-endings

In short, you can use the text attribute to set the line endings for a particular file extension. For instance, forcing sln files to CRLF would require the following line in a .gitattributes file :

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top