Czy istnieje plik lub menu, które pozwolą mi zmienić ustawienia dotyczące postępowania z zakończeniami linii?
Czytam, są 3 opcje:
Kasa w stylu Windows, zatwierdzanie w stylu Uniksa
Podczas sprawdzania plików tekstowych Git konwertuje LF na CRLF. Podczas zatwierdzania plików tekstowych CRLF zostanie przekonwertowany na LF. W przypadku projektów wieloplatformowych jest to zalecane ustawienie w systemie Windows („core.autocrlf” jest ustawiony na „true”)
Kwestia jak jest, zatwierdza styl uniksowy
Podczas sprawdzania plików tekstowych Git nie wykona żadnej konwersji. Podczas zatwierdzania plików tekstowych CRLF zostanie przekonwertowany na LF. W przypadku projektów wieloplatformowych jest to zalecane ustawienie w systemie Unix („core.autocrlf” jest ustawiony na „input”).
Kasa jak jest, zatwierdza jak jest
Git nie wykona żadnych konwersji podczas sprawdzania lub zatwierdzania plików tekstowych. Wybranie tej opcji nie jest zalecane w przypadku projektów wieloplatformowych („core.autocrlf” jest ustawiony na „false”)
Odpowiedzi:
Normalny sposób to kontrolować
git config
Na przykład
Aby uzyskać szczegółowe informacje, przewiń w dół do tego linku do Pro Git do sekcji o nazwie „core.autocrlf”
Jeśli chcesz wiedzieć, w jakim pliku jest zapisany, możesz uruchomić polecenie:
globalny plik konfiguracyjny git powinien otworzyć się w edytorze tekstów i można zobaczyć, skąd ten plik został załadowany.
źródło
true
lubfalse
są tylko dwie opcje, instalator ma trzyinput
jest trzecią opcją (jak podano w linku, który podałem). 3 opcje totrue
|false
|input
"1 ... ("core.autocrlf" is set to "true") ... 2 ... ("core.autocrlf" is set to "input") ... 3 ... ("core.autocrlf" is set to "false")"
więc w zasadzie odpowiedziałeś na własne pytanie? :)Format zakończenia linii używany w systemie operacyjnym
CR
(Carriage Return\r
) iLF
(LineFeed\n
)LF
(LineFeed\n
)Możemy skonfigurować git, aby automatycznie poprawiał formaty zakończenia linii dla każdego systemu operacyjnego na dwa sposoby.
.gitattributes
plikuKonfiguracja globalna
W systemie Linux / OSXBędzie to naprawić każdy
W systemie WindowsCRLF
doLF
podczas popełniania.Zapewni to, że podczas kasowania w systemie Windows wszystkie
LF
zostaną przekonwertowane naCRLF
Plik .gitattributes
Dobrym pomysłem jest przechowywanie
.gitattributes
pliku, ponieważ nie chcemy oczekiwać, że wszyscy w naszym zespole ustawią swoją konfigurację. Plik ten powinien znajdować się w ścieżce katalogu głównego repozytorium, a jeśli taki istnieje, git go przestrzega.Spowoduje to potraktowanie wszystkich plików jako plików tekstowych i konwersję do wiersza systemu operacyjnego kończącego się przy kasie i powrót do
LF
zatwierdzenia automatycznie. Jeśli chcesz powiedzieć wprost, użyjPierwszy służy do kasy, a drugi do zatwierdzenia.
Traktuj wszystkie
.jpg
obrazy jako pliki binarne, niezależnie od ścieżki. Dlatego nie jest wymagana konwersja.Lub możesz dodać kwalifikatory ścieżki:
źródło
CR
samego (powrót karetki)?CR
samodzielnie, ale OS X na ogół używaLF
.* text eol=lf
dwa razy, aby mieć kasęLF
w systemie Windows?* text=auto
pozwala git zdecydować, czy treść jest tekstowa, czy nie. Wymuszanie, aby wszystkie pliki były tekstem, powinno być* text
tylko.eol=cr
pliki w systemie Mac OS 9 i innych starszych platformach?Na przykład cofnięcie ustawienia tego atrybutu na danej ścieżce [ . - tekst] zmusi gita, aby nie dotykał końcówek linii podczas meldowania się i wymeldowywania. Moim zdaniem jest to najlepsze zachowanie, ponieważ większość współczesnych edytorów tekstu może obsługiwać oba typy zakończeń linii. Ponadto, jeśli jako programista nadal chcesz przeprowadzić konwersję kończącą linię podczas meldowania, nadal możesz ustawić ścieżkę, aby dopasować określone pliki lub ustawić atrybut eol (w .gitattributes) w repozytorium.
Zobacz także pokrewny post, który bardziej szczegółowo opisuje plik .gitattributes i atrybut tekstowy: Jaka jest najlepsza strategia obsługi CRLF (powrót karetki, przesunięcie wiersza) w Git?
źródło
. - text
dajeis not a valid attribute name: .gitattributes:1
proszę umieścićcat .gitattributes
Dla mnie, jaka sztuczka polegała na uruchomieniu polecenia
W folderze projektu chciałem go specjalnie dla jednego projektu.
To polecenie zmieniło plik w ścieżce {nazwa_projektu} /. Git / config (fyi .git to ukryty folder) poprzez dodanie wierszy
na końcu pliku. Przypuszczam, że zmiana pliku również działa tak samo.
źródło
Jeśli chcesz przekonwertować formaty plików, które zostały zmienione na format UNIX, z formatu PC.
(1) Musisz ponownie zainstalować GIT żółwia i w sekcji „Konwersja kończąca linię” upewnij się, że wybrałeś opcję „Sprawdź jak jest - sprawdź jak jest”.
(2) i zachowaj pozostałe konfiguracje bez zmian.
(3) po zakończeniu instalacji
(4) zapisz wszystkie rozszerzenia plików przekonwertowane do formatu UNIX na plik tekstowy (extensions.txt).
(5) skopiuj plik do swojego klonu Uruchom następujące polecenie w GITBASH
źródło