Git/stash рассматривает unchanges файлы как совершенно новые
Я пытаюсь написать скрипт для резервного копирования некоторых файлов на еженедельной основе с помощью git.
Структура моего скрипта следующая:
- Перейдите в локальный каталог, где будут внесены изменения
- оформить заказ
- запустить скрипт для перезаписи всей папки с текущими файлами
git add --all
git push
Вот проблема: когда я делаю перезапись, большинство файлов должны быть идентичными. Следовательно, после того, как я перенесу их на пульт, они не должны быть помечены как измененные.
Однако, когда я нажимаю, все файлы, которые не изменились (следовательно, были перезаписаны идентичными копиями), рассматриваются как совершенно новые, когда я просматриваю их в тайнике.
Кто-нибудь сталкивался с такой проблемой раньше / знает, что может быть причиной?
1 ответ
Две возможные причины:
- другое разрешение (644 или 755)
другой eol (конец строки): проверьте diff для одного измененного файла с помощью:
git -c color.diff.whitespace="red reverse" diff -R -- afile
Проверьте также для любого text=auto
директива в .gitattributes
файл
Удостовериться git config --global core.autocrlf
установлен в false
(и что у вас нет местных git config autoocrlf
в вашем репо).
Для разрешения файла, git config --global core.filemode false
может помочь.
Затем попробуйте снова оформить / переопределить / добавить / зафиксировать и нажать последовательность.