Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What will `* text=auto eol=lf` in gitattributes do?

We have this in our .gitattributes file:

* text=auto eol=lf 

I'd like to precisely understand what this does.

The first part is text=auto. From the documentation:

This ensures that all files that Git considers to be text will have normalized (LF) line endings in the repository.

The important part is that Git does the normalization only for files that it detects as text files.

However, I'm not sure about the eol=lf part. I would think that it will also do the normalization only for text files but I can't find support for it in the documentation and we had an instance when our PNG files were normalized too, making them invalid.

Is there a settings like the above that would basically say "do the normalization in both directions for text files, and leave binary files alone"?

like image 513
Borek Bernard Avatar asked Apr 03 '15 15:04

Borek Bernard


People also ask

What does. gitattributes file do?

gitattributes file allows you to specify the files and paths attributes that should be used by git when performing git actions, such as git commit , etc. In other words git automatically saves the file according to the attributes specified, every time a file is created or saved.

What is a. gitattributes?

DESCRIPTION. A gitattributes file is a simple text file that gives attributes to pathnames. Each line in gitattributes file is of form: pattern attr1 attr2 ... That is, a pattern followed by an attributes list, separated by whitespaces.

Where is Git attributes file?

These path-specific settings are called Git attributes and are set either in a . gitattributes file in one of your directories (normally the root of your project) or in the . git/info/attributes file if you don't want the attributes file committed with your project.


Video Answer


1 Answers

Git 2.10 fixed this and now behaves as one would expect.

like image 131
Borek Bernard Avatar answered Oct 11 '22 09:10

Borek Bernard