git проблема с окончанием строки только с одним клоном репо

Хорошо, у меня есть репозиторий git. Все клоны работают с одной и той же версией git (почти последней).

  • «происхождение» находится на GitHub.com
  • клоны на разных серверах CentOS, проблем с окончанием строк не возникало
  • клонировать в моей системе Mac OS (используя git через строку cmd и / или графический интерфейс Tower), также нет проблем с окончанием строки.

НО

  • другой клон на сервере Ubuntu, git-diff думает, что весь файл изменился, когда я вношу какие-либо изменения в файл

Итак, что я должен сделать с git-config на этом компьютере с Ubuntu, чтобы решить проблему? Я читал различные статьи (и документы git-config) по этому вопросу, но не совсем понятно, что является решающим исправлением одним нажатием..?


person Jonny Nott    schedule 05.04.2011    source источник


Ответы (1)


Возможно, вам нужно отключить core.autocrlf.

person rlc    schedule 05.04.2011
comment
Значит, core.autocrlf включен по умолчанию? .. потому что я не включил его. Кроме того, как только я получу правильную конфигурацию crlf, мне нужно будет повторно проверить всю мою рабочую копию с помощью «git checkout HEAD», прежде чем вносить дальнейшие изменения в файлы? - person Jonny Nott; 05.04.2011
comment
Я не знаю, включен ли он по умолчанию в Ubuntu, но единственная причина, по которой я вижу, почему crlf изменится, заключается в том, что он включен. Что касается того, нужно ли вам снова выписываться, я думаю, что вы это сделаете, но git status вам об этом скажет. - person rlc; 05.04.2011
comment
Хорошо, у меня нет никаких директив git-config, установленных ни глобально, ни для самого этого репо. 'список конфигураций git' ничего не возвращает. Так что это должно быть связано с тем, как ОС работает с окончаниями строк. Любые идеи, как обойти это? Кстати, для редактирования файлов я открываю их через FTP и редактирую с помощью TextMate на Mac, а затем сохраняю обратно через FTP. - person Jonny Nott; 05.04.2011
comment
о, этот бит FTP может быть важной деталью: в каких-либо файлах, которые вы не загружаете и не загружаете повторно через FTP, меняется каждая строка? Вы передаете файлы в двоичном (образном) режиме? - person rlc; 05.04.2011
comment
Я установил TextMate с предпочтением по умолчанию использовать LF только для концов строк, даже в существующих файлах, а не только в новых, которые он создает. Возможно, мне нужно удалить предпочтение «даже для существующих файлов»?! - person Jonny Nott; 05.04.2011
comment
Вы проверяли, были ли проблемы только с теми файлами, которые вы загрузили и повторно загрузили по FTP? Это, по крайней мере, скажет вам, смотрите ли вы в правильном направлении. - person rlc; 05.04.2011
comment
Вы правы, загвоздка либо с FTP, либо с TextMate. Если я редактирую файл из командной строки (с пико) на коробке, не беспокойтесь. Но редактирование в TextMate через FTP изменяет окончания строк, даже если я снимаю флажок, чтобы применить схему окончания строк TM к существующим файлам. - person Jonny Nott; 05.04.2011
comment
Вопрос в том, могу ли я установить некоторую конфигурацию в git, чтобы git не заботился об измененных окончаниях строк? - person Jonny Nott; 05.04.2011
comment
Ага, кажется, я решил проблему, сделав наоборот - включив core.autocrlf ;) 'git config --global core.autocrlf true' - person Jonny Nott; 05.04.2011