2016-09-09 48 views
10

Próbuję dowiedzieć się, jaka jest domyślna wartość core.autoclrf w Git, jeśli użytkownik nie zmienia tego ustawienia.Git core.autocrlf wiersz kończy domyślne ustawienie

Sprawdziłem w dokumentach, ale nie mogę znaleźć tych informacji. Czy możesz wskazać mi właściwy kierunek?

W szczególności, na świeżej instalacji Gita, czy Git automatycznie konwertuje zakończenia linii systemu Windows na Unix podczas dokonywania repozytorium z systemu Windows?

Dzięki!

+0

core.autocrlf not core.clrf –

+0

Dokumentacja na https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration zawiera trzy opcje, ale nie określa, które wartości domyślne i są włączone moja czysta instalacja na Ubuntu 'git config -list' nie daje wpisu dla' autocrlf', 'git config --get autocrlf' zwraca' error: klucz nie zawiera sekcji: autocrlf', więc publikuję nagrodę. Prawdopodobnie oznacza to, że wartość domyślna jest nieprawdziwa, ale dobrze byłoby mieć to potwierdzone – user568458

Odpowiedz

-1

Jeśli używasz najnowszego instalatora git okna, domyślną opcją core.autoclrf jest false.

+8

Interesujące, thx! Gdzie znalazłeś tę informację? – Pensierinmusica

+0

To nie jest prawda, przynajmniej nie z git 2.15.0.windows.1, który jest dostarczany z Git Bash. – user2061057

-1

Można wymienić wszystkich par klucz-wartość config wydając polecenie

git config --list 

I jak widzę domyślnie

core.autocrlf=true

Chociaż jest to ustawienie Wybrałem (lub lepiej powiedzieć " nie dotknięte ") podczas instalacji Git dla Windows

+0

'git config - lista' wyświetla tylko wartości, które zostały jawnie ustawione.W tej chwili nie ma sposobu, aby uzyskać domyślną wartość opcji konfiguracji git. Aby uzyskać więcej informacji, zobacz [tę odpowiedź] (https://stackoverflow.com/a/33720449/266309). – waldyrious

+0

@dordyrious co jeśli nie zostało to jawnie ustawione? A jeśli jest to zawsze domyślnie ustawione domyślnie i nie zostało ustawione od tego czasu, to działałoby. na przykład Nigdy nie ustawiłem autocrlf i widzę tam listę z wartością, więc jest to wartość domyślna w mojej instalacji git, core.autocrlf = true – barlop

+0

Dlaczego spadki? Właśnie sprawdziłem, czy rzeczywiście tak jest (wersja git 2.15.0.windows.1). Jeśli usunę moje globalne '.gitattributes',' git config -list' wyświetli 'core.autocrlf = true'. Jeśli ustawię go na "false", to nowe ustawienie pojawi się jako ostatnia linia na wyjściu, a tym samym zastąpi wartość domyślną. – user2061057

4

Sprawdzanie wartości git source code, core.autocrlf jest domyślnie ustawione na wartość false. (I od czasu wprowadzenia oryginalnego wprowadzenia do usługi Feb 13, 2007, ale od tego czasu została przekształcona z wartości statycznej na stałą).

Instalator systemu Windows wymaga wybrania wartości dla tej właściwości, która jest jawnie ustawiona w Konfiguracja systemu git.

0

Trudno jest znaleźć to stwierdzić ale mogę dowiedzieć się metodą prób i błędów, że:

wartość
  • domyślnym jest „false”

  • Instalator Windows pozwala wybrać pożądane zachowanie, ale domyślnie (jeśli instalujesz bez zmiany proponowanych ustawień) ustawia go na "true". To nie jest domyślne oprogramowanie, instalator ustawia ustawienie systemowe core.autocrlf.

„false” oznacza brak na przetwarzanie zakończeń linii „true” oznacza sprawdzenie się jako LF i sprawdzeniu według systemu (CRLF na Windows i LF na Unix).

Kiedy zarówno Unix, jak i Windows są używane, zaleca się używanie "false" na Uniksie (ponieważ automatyczna konwersja może uszkodzić niektóre pliki binarne, które wyglądają jak pliki tekstowe linii i Unix używa LF mimo to) i "true" w systemie Windows (w przeciwnym razie repozytorium jest wypełnione listą CRLF, która powoduje problemy ze zgodnością).