LF zostanie zastąpiony przez CRLF w git-Co to jest i czy jest ważne? [duplikat]
Możliwy duplikat:
git Zamiana LF na CRLF
Kiedy tworzę nową aplikację rails, widzę w git ostrzeżenie o zamianie LF. Tak. git init git add .
A potem bum! Widzę, że to wyskakuje dla prawie wszystkich plików. Zwykle po prostu kontynuuję i buduję moją aplikację, która znika po wielu zmianach w plikach.Przykład:
Plik będzie miał oryginalne zakończenia linii w Twoim working directory. Uwaga: LF zostanie zastąpiony przez CRLF w Gemfile.
Plik będzie miał oryginalne zakończenia linii w katalogu roboczym. Uwaga: LF zostanie zastąpiony przez CRLF w Gemfile.zamek.
Plik będzie miał oryginalne zakończenia linii w katalogu roboczym. Uwaga: LF zostanie zastąpiony przez CRLF w README.
Jaka jest różnica między LF A CRLF?
Czy powinienem się tym martwić na dłuższą metę, czy po prostu zignorować i zachować idziesz jak zwykle?
2 answers
W systemach uniksowych koniec linii jest reprezentowany przez kanał linii (LF). W systemie windows linia jest reprezentowana przez powrót karetki (CR) i kanał linii (LF) w ten sposób (CRLF). kiedy otrzymasz kod z git, który został przesłany z systemu unix, będą mieli tylko LF.
Jeśli chcesz wyłączyć to Ostrzeżenie, wpisz to w wierszu poleceń git
git config core.autocrlf true
Jeśli chcesz podjąć inteligentną decyzję jak git powinien sobie z tym poradzić, przeczytaj dokumentację
Oto snippet
Formatowanie i spacje
Problemy z formatowaniem i białymi spacjami to jedne z bardziej frustrujących i subtelne problemy, które napotyka wielu programistów podczas współpracy, szczególnie cross-platform. Jest bardzo łatwy do łatek lub innych współpracy, aby wprowadzić subtelne zmiany spacji, ponieważ redaktorzy po cichu je wprowadzają, a jeśli Twoje pliki kiedykolwiek dotkną System Windows, ich zakończenia linii mogą zostać zastąpione. Git ma kilka opcje konfiguracji, aby pomóc w tych problemach.
core.autocrlf
Jeśli programujesz w systemie Windows i pracujesz z ludźmi, którzy nie są ( lub odwrotnie), prawdopodobnie napotkasz problemy z zakończeniem linii w niektórych punkt. Dzieje się tak dlatego, że Windows używa zarówno znaku karetki-powrotu i znak linii dla nowych linii w swoich plikach, natomiast Mac i Systemy linuksowe używają tylko znaku linefeed. Jest to subtelne, ale niezwykle irytujący fakt pracy międzyplatformowej; wielu redaktorów na Okna bezgłośnie zastąpić istniejące zakończenia linii w stylu LF CRLF lub Wstaw oba znaki kończące linię, gdy użytkownik naciśnie klawisz enter.
Git może sobie z tym poradzić poprzez automatyczną konwersję zakończeń linii CRLF na LF, gdy dodajesz plik do indeksu i odwrotnie, gdy sprawdza kod na Twój system plików. Możesz włączyć tę funkcjonalność za pomocą rdzeń.ustawienie autocrlf. Jeśli korzystasz z komputera z systemem Windows, ustaw go na true - to zamienia zakończenia LF na CRLF po sprawdzeniu kod:
$ git config --global core.autocrlf true
Jeśli korzystasz z systemu Linux lub Mac, który używa końcówek linii LF, to nie chcę, aby Git automatycznie przekonwertował je podczas pobierania plików; jeśli jednak przypadkowo zostanie wprowadzony Plik z zakończeniami CRLF, wtedy możesz chcieć, aby Git to naprawił. Możesz powiedzieć Gitowi, aby przekonwertował CRLF na LF na commit, ale nie na odwrót przez ustawienie core.autocrlf do input:
$ git config --global core.autocrlf input
Ta konfiguracja powinna pozostawić zakończenia CRLF w kasach systemu Windows, ale jeśli zakończenia w systemach Mac i Linux oraz w repozytorium.
Jeśli jesteś programistą Windows wykonującym projekt Tylko Dla Windows, To można wyłączyć tę funkcjonalność, nagrywając powroty karetki w repozytorium ustawiając wartość konfiguracyjną na false:
$ git config --global core.autocrlf false
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-25 13:22:29
Jeśli chcesz, możesz dezaktywować tę funkcję w konfiguracji git core używając
git config core.autocrlf false
Ale lepiej byłoby po prostu pozbyć się ostrzeżeń za pomocą
git config core.autocrlf true
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-14 22:07:35