Отладка проблемы с Git в Windows (MsysGit) - PullRequest
4 голосов
/ 24 ноября 2008

У меня рецидивирующая проблема с git на windows (я запускаю MSysGit из пакета Git-1.6.0.2-preview20080923.exe, я также пытался с Git-1.5.6.1-preview20080701.exe и результатами одинаковы).

Очень обидно, что некоторые файлы отображаются как измененные, когда я их не менял, и в git-gui он показывает, что удаленное содержимое совпадает с добавленным содержимым (обычно это весь файл), т. Е.
- This line was here before
- This line was here before as well
- and this line too...
+ This line was here before
+ This line was here before as well
+ and this line too...

Я пробовал с git checkout -f и git reset --hard, но файлы остались прежними. Я также попытался удалить файлы до полного сброса. Я попробовал поискать в Google, но ничего не нашел.
Можете ли вы сказать мне, как это решить, или какие шаги вы бы предприняли, чтобы подтвердить, что это проблема с Git, а не с моей системой, чтобы я мог сообщить об этом как об ошибке.

Ответы [ 3 ]

5 голосов
/ 24 ноября 2008

У вас могут быть проблемы с окончанием строки, если вы не обрабатывали это ни в текстовом редакторе, ни в конфигурации Git.

Чтобы решить эту проблему в Git, установите опцию autocrlf в файле конфигурации Git:

$ git config --global core.autocrlf true

Это заставляет git преобразовывать переводы строки в стандарт системы при извлечении файлов и переводы строк LF при фиксации. Затем вам нужно будет извлечь свежую рабочую копию, которая отфильтрует окончания строк в соответствии с настройкой autocrlf.

$ git reset --hard HEAD
$ git commit -a

Это фиксирует любые файлы, которые изменяются путем стандартизации концов строк, так что теперь ваш репо согласован, и вы больше не будете создавать проблем с окончанием строк.

0 голосов
/ 31 августа 2010

В VS2008 настройка для преобразования вкладок в пробелы - Инструменты -> Параметры -> Текстовый редактор -> -> Вкладки, где вы выбираете переключатель в нижней части окна.

0 голосов
/ 17 декабря 2008

Если вы используете Visual Studio, то, вероятно, Visual Studio преобразует вкладки в пробелы (# @% $ #). Вы можете отключить эту «функцию» где-нибудь в настройках Visual Studio. Вы также можете установить git up, чтобы не проверять изменения пробелов, но я не могу рекомендовать это.

Предложение выше настройки autocrlf может сработать, но по умолчанию установлено значение true в используемой вами версии Git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...