Możesz skonfigurować obsługę końca linii dla repozytorium, dodając specjalny plik .gitattributes do folderu głównego repozytorium Git. Jeśli plik ten jest zatwierdzony do repozytorium, zastępuje ustawienie core.autocrlf poszczególnych programistów.
W tym pliku możesz skonfigurować Git, aby automatycznie wykrywał zakończenia linii.
Uwaga: - Nie wszystkie graficzne narzędzia Git obsługują plik .gitattributes, na przykład Eclipse IDE obecnie go nie obsługuje.
Oto przykładowy plik .gitattributes. Możesz użyć go jako szablonu dla swoich repozytoriów:
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
Zauważysz, że pliki są dopasowane - *. C, * .sln, * .png--, oddzielone spacją, a następnie podane ustawienie - tekst, tekst eol = crlf, binarny. Poniżej omówimy niektóre możliwe ustawienia.
text = auto
Git będzie obsługiwał pliki w sposób, który uzna za najlepszy. To dobra domyślna opcja.
text eol = crlf
Git zawsze będzie zamieniał zakończenia linii na CRLF przy kasie. Powinieneś użyć tego w przypadku plików, które muszą zachować zakończenia CRLF, nawet w OSX lub Linux. Na przykład tutaj jest projekt systemu Windows, który wymusza zakończenie linii CRLF.
text eol = lf
Git przy kasie zawsze konwertuje zakończenia linii na LF. Powinieneś używać tego do plików, które muszą kończyć LF, nawet w systemie Windows. Na przykład tutaj jest projekt, który wymusza zakończenie linii LF.
binarny
Git zrozumie, że określone pliki nie są tekstem i nie powinien próbować ich zmieniać. Ustawienie binarne jest także aliasem dla -text -diff.