Wpis z mikrobloga

Jak u was wygląda plik .gitattributes?

Pod Windowsem jak zbudujecie projekt, a w plikach macie znaki końca linii CRLF (\r\n), to pod Linuksem się wysypie. Obszedłem to w ten sposób, że dodałem .gitattributes o treści:

* text eol=lf
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf
*.ico binary
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.webp binary
*.ttf binary
*.woff binary
*.woff2 binary

No ale lista plików, które mogą być binarne, nie jest pełna.

Potem wyłączenie konwersji znaków końca linii:

git config --local core.autocrlf false
git config --local core.eol lf

Następnie przebudowanie indeksu:

git rm --cached -r .
git reset --hard
git add .

Trzeba jeszcze zmienić ustawienie w IntelliJ, aby stosował LF zamiast CRLF.

Editor ➡️ Code Style ➡️ Line separator

Ale jak to faktycznie powinno wyglądać pod Windowsem? Bo ktoś wrzuci do repo plik binarny z innym rozszerzeniem i mogą dziać się cuda, bo Git uzna go za plik tekstowy. Może lepiej całkowicie wyłączyć konwersje CRLF/LF i nie używać .gitattributes?

Innym rozwiązaniem jest konwersja CRLF do LF przy budowaniu projektu. Istnieje taki plugin do Mavena. Do budowania obrazów Docker używam wtyczki jib-maven-plugin, a ona nie ma takiej opcji. A jak wy sobie z tym radzicie?

#git #programowanie #programista15k

Pracując pod Windowsem, zalecane jest:

  • Mieć pliki w CRLF i zamieniać do LF przy budowaniu 35.7% (5)
  • Mieć pliki w LF 42.9% (6)
  • Mieć pliki w CRLF i budowanie wynieść do CI/CD 21.4% (3)

Oddanych głosów: 14

  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach