Git на окнах отображаются измененные файлы все время, даже для вновь клонированных репо
У меня возникают проблемы с моим git на машине Windows. У меня всегда есть несколько файлов git, которые изменяются в каждом репо, файлы, которые отображаются с изменениями, одинаковы.
Если я клонирую новое репо и использую tortoisegit для фиксации, я вижу некоторые измененные файлы, даже если я никогда не касался одного файла в репо. "gitstatus" не показывает никаких изменений, хотя
Любая помощь приветствуется. Благодаря
Ответы
Ответ 1
Проверьте, являются ли изменения просто изменениями в разрешениях файлов. Вот почему в моем случае, как TortoiseGit, так и Git Extensions отображают немодифицированные файлы.
Используйте git config core.fileMode false
to игнорировать различия chmod (или напрямую редактируйте файл .git/config).
Вы также можете установить это как глобальную конфигурацию с помощью git config --global core.filemode false
.
Ответ 2
Проблема с окончанием строки. Установите это на вашей машине Windows:
git config --global core.autocrlf true
Ответ 3
Ни один из предложенных исправлений не работал у меня. Тем не менее, я установил Cygwin, и TortoiseGit поднял свой путь при установке. Я решил это, установив официальный пакет Git и изменив путь в TortoiseGit.
Ответ 4
При использовании TortoiseGit с Cygwin git (официально не поддерживается) необходимо выполнить несколько дополнительных шагов настройки:
Выберите [CYGWIN-INSTALL-PATH]\bin-folder
в качестве папки git.exe.
Сконфигурируйте переменную среды HOME
в Windows, чтобы Cygwin и TortoiseGit использовали один и тот же домашний каталог и глобальный git-config. Используйте обычные обозначения Windows здесь (например, C:\Users\USERNAME
). По умолчанию TortoiseGit использует домашний каталог Windows, который обычно находится в каталоге c:\Users, а Cygwin использует свои собственные домашние каталоги, которые расположены в [CYGWIN-INSTALL-PATH]\home
.
Настройте AutoCrLf
, это необходимо, так как TortoiseGit и Cygwin Git имеют разные значения по умолчанию. По умолчанию в Cygwin Git используется true
.
Перейдите в Tortoise. Откройте раздел Advanced Settings
и установите для CygwinHack
значение true
, чтобы активировать обходные пути cygwin.
Reboot.
Шаг № 4 является решающим и решил проблему для меня.
Ссылка (см. раздел Cygwin Git): https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html
Ответ 5
У меня просто была эта проблема, и для меня решение оказалось довольно простым.
Убедитесь, что в данный момент нет запущенных процессов git, а затем удалите .git\index.lock
.
После этого измененное состояние моих файлов было обработано правильно.
Ответ 6
Просто разместите это как ответ, потому что это может помочь кому-то еще.
Если у вас установлены Cygwin и Tortoise Git, то при попытке объединить код с добавлением 0 строк и удалением 0 строк будет просто отображаться много файлов, что вызывает раздражение.
Я попытался добавить вышеупомянутые параметры в git config, но это не помогло.
Вы можете просто щелкнуть правой кнопкой мыши по любой папке и перейти в
Tortoise Settings → General → Rerun First Time Wizard
Теперь здесь вы можете изменить путь к git.exe, указав на другой Git.exe или, если у вас установлен Gitbash, вы также можете указать на его git.exe. Просто убедитесь, что уже существующий путь должен быть чем-то из Cygwin/bin/git.exe, который должен быть обновлен до другого git.exe.