Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator .gitattributes

Ustal normalizację tekstu, bezpieczne EOL skryptów, wzorce binarne i zasady Git LFS.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Ustaw opcje i wygeneruj plik .gitattributes.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator .gitattributes — spójne EOL, pliki binarne i Git LFS

Generator .gitattributes buduje politykę przechowywania plików w repozytorium Git. Ustawia automatyczne rozpoznawanie tekstu, wybrany koniec linii, bezpieczne wyjątki dla skryptów POSIX i Windows, szeroki zestaw formatów binarnych, opcjonalne wzorce Git LFS oraz pliki pomijane przez git archive.

Jak Git interpretuje atrybuty

Każdy wiersz składa się z wzorca ścieżki i atrybutów. Wpis * text=auto eol=lf prosi Git o automatyczne rozpoznanie tekstu, normalizację zawartości w indeksie i zapis LF w katalogu roboczym. Wariant crlf zachowuje normalizację w repozytorium, lecz wypisuje pliki tekstowe z CRLF. Po wyłączeniu przełącznika generator naprawdę pomija globalną regułę — nie dodaje ukrytego text=auto.

RegułaZnaczenieTypowe użycie
text=autoAutomatyczne rozpoznanie i normalizacja tekstuKod źródłowy, konfiguracja i dokumentacja
eol=lfLF w katalogu roboczymShell, Linux, kontenery i CI
binarySkrót dla -diff -merge -textObrazy, fonty, archiwa, audio i wideo
filter=lfsFiltr pointerów Git LFSDuże zasoby, które muszą być wersjonowane
export-ignorePomija ścieżkę w archiwumTesty i konfiguracja repozytorium

Końce linii i wykonywalne skrypty

Globalny wybór nie powinien zepsuć skryptów. Dlatego generator zawsze dopisuje *.sh, *.bash i *.zsh text eol=lf. Interpreter odczytuje shebang z pierwszego wiersza; CRLF może pozostawić niewidoczny znak \r w nazwie interpretera i zakończyć start komunikatem „bad interpreter”. Dla *.bat i *.cmd ustawiane jest natomiast eol=crlf.

Atrybut EOL nie ustawia bitu wykonywalnego. Uprawnienie jest osobną właściwością indeksu Git i na systemie uniksowym ustawiasz je przez chmod +x plik.sh oraz git add plik.sh. Zasady automatyzacji repozytorium możesz następnie powtórzyć w generatorze GitLab CI.

Pliki binarne bez fałszywych diffów

Lista obejmuje popularne obrazy PNG, JPEG, GIF, WebP, AVIF i ICO, dokumenty PDF, fonty, archiwa, multimedia oraz biblioteki wykonywalne. Oznaczenie binary wyłącza normalizację tekstu i próby automatycznego scalania. SVG nie trafia na listę, ponieważ jest tekstowym XML-em i sensowny diff bywa przydatny. Podobnie pliki JSON, YAML i źródła pozostają tekstem.

Jawne wzorce są czytelniejsze od polegania wyłącznie na heurystyce, ale nie powodują kompresji i nie zmniejszają historii. Zbędne artefakty powinny być ignorowane, zanim trafią do indeksu; odpowiednie reguły zbudujesz w generatorze .gitignore. Dla obrazów używanych w aplikacji można wcześniej ograniczyć rozmiar pliku, zamiast automatycznie przenosić każdy zasób do LFS.

Git LFS i walidacja wzorców

Po włączeniu LFS każda niepusta linia otrzymuje pełny zestaw filter=lfs diff=lfs merge=lfs -text. Powtórzenia są usuwane. Generator odrzuca znaki sterujące, spacje, prefiks !, komentarz zaczynający się od #, końcowy ukośnik i listy dłuższe niż 50 pozycji. Takie wartości są niejednoznaczne albo nie działają w atrybutach tak, jak użytkownicy oczekują.

Sam wpis nie przenosi istniejącej historii i nie instaluje rozszerzenia. Każdy współpracownik oraz runner CI potrzebuje Git LFS, a repozytorium wymaga inicjalizacji. Przed zatwierdzeniem sprawdź git check-attr -a -- ścieżka oraz git lfs track. Nie używaj LFS dla plików, które często muszą być scalane jak kod, manifesty czy małe SVG.

Wdrożenie i renormalizacja repozytorium

  1. Wybierz LF dla projektów uruchamianych na Linuksie lub świadomie wybierz CRLF dla tekstu roboczego Windows.
  2. Zostaw text=auto, chyba że repozytorium ma już szczegółową politykę tekstu per rozszerzenie.
  3. Włącz LFS tylko dla konkretnych, dużych formatów i usuń wzorce, których projekt nie przechowuje.
  4. Zapisz wynik jako .gitattributes w korzeniu repozytorium, a następnie uruchom git add --renormalize ..
  5. Sprawdź diff. Renormalizację zatwierdź osobnym commitem, bez zmian logiki, aby recenzja była czytelna.

Ustawienia edytora warto zsynchronizować przez generator .editorconfig, a zgodność procesu wymusić także w generatorze GitHub Actions. .editorconfig wpływa na zapis w edytorze, a .gitattributes definiuje zachowanie Git — te pliki się uzupełniają.

Archiwa wydań z export-ignore

Opcja archiwum oznacza katalog .github, testy, phpunit.xml, .gitignore i sam .gitattributes jako export-ignore. Reguła działa tylko dla git archive; nie usuwa plików z repozytorium, klonu ani paczki utworzonej zwykłym programem ZIP. Przed publikacją sprawdź zawartość poleceniem git archive HEAD | tar -tf -.

Najczęściej zadawane pytania

Czy po dodaniu pliku wszystkie EOL zmienią się automatycznie?

Nie w istniejącym indeksie. Uruchom git add --renormalize ., obejrzyj diff i zatwierdź zmianę. Kolejne checkouty będą już stosować zadeklarowaną politykę.

Czy binary i Git LFS oznaczają to samo?

Nie. binary wyłącza traktowanie pliku jako tekstu, ale zawartość nadal trafia do zwykłych obiektów Git. LFS zastępuje ją małym pointerem i przechowuje dane w osobnym magazynie.

Dlaczego skrypty shell zawsze mają LF?

CRLF może dopisać znak carriage return do ścieżki interpretera w shebang i uniemożliwić uruchomienie. Jawny wyjątek LF chroni skrypty nawet wtedy, gdy globalnie wybrano CRLF.

Czy mogę wpisać katalog jako wzorzec LFS?

Końcowy ukośnik nie działa rekurencyjnie w regułach atrybutów. Użyj wzorca plików, na przykład assets/** albo assets/**/*.psd, zależnie od faktycznej potrzeby.

Czy .gitattributes zastępuje .editorconfig?

Nie. Git normalizuje dane podczas dodawania i checkoutu, a EditorConfig instruuje edytor podczas zapisu. Uzgodnij w obu plikach EOL, aby użytkownik nie widział ciągłych lokalnych zmian.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!