Reputation: 29576
due to a "feature" in Microsoft's Visual Studio, .sln files must have windows style line endings so that the windows explorer could open them in Visual studio. So I need to be able to commit this one particular file with line endings intact. It is fine if all other files get converted. The question is how to make git accept just one single file with windows endings?
Upvotes: 89
Views: 19815
Reputation: 5389
To ensure:
...you can set up a .gitattributes
file in the root of your project,like:
# Ensure all files are checked into the repo with LF line endings and checked
# out with LFs.
* text=auto eol=lf
# Except these files will always be checked out with CRLFs (regardless of the
# OS they were checked out on).
*.bat text eol=crlf
*.sln text eol=crlf
This example also ensures .bat files always use CRLF line endings.
Note: If you're expecting to store binary files in your repo, like images, you may also want to explicitly tell git not to mess with line endings with something like *.png binary
.
Note: Older versions of git had a bug in this area, so ensure you're using 2.10 or later.
Upvotes: 5
Reputation: 312620
Take a look at the gitatttributes documentation. With recent versions of git, you can set the eol
attribute for files to control what end-of-lines will be used when the file is checked out.
You should be able to create a .gitattributes
file in your repository that looking something like:
path/to/my/file eol=crlf
Upvotes: 133