# Using a .gitattributes file
# Automatic Line Ending Normalization
Create a .gitattributes file in the project root containing:
* text=auto
This will result in all text files (as identified by Git) being committed with LF, but checked out according to the host operating system default.
This is equivalent to the recommended core.autocrlf defaults of:
inputon Linux/macOStrueon Windows
# Identify Binary Files
Git is pretty good at identifying binary files, but you can explicitly specify which files are binary. Create a .gitattributes file in the project root containing:
*.png binary
binary is a built-in macro attribute equivalent to -diff -merge -text.
# Disable Line Ending Normalization
Create a .gitattributes file in the project root containing:
* -text
This is equivalent to setting core.autocrlf = false.
# Prefilled .gitattribute Templates
If you are unsure which rules to list in your .gitattributes file, or you just want to add generally accepted attributes to your project, you can shoose or generate a .gitattributes file at: