Недавно я переместил свои материалы программирования из локального хранилища в сетевое хранилище. С тех пор Git работает некорректно.Git wont сброс разрешений для файлов через cifs mount
Типичный сценарий:
Я меняю файлы. Теперь я хочу сохранить изменения. Я делаю git stash
. Git откатывает изменения. Однако файлы по-прежнему отмечены как измененные в git status
. git diff -p
показывает
diff --git a/file.txt b/file.txt
old mode 100644
new mode 100755
Я попытался сбросить файлы, выполнив
git checkout -- file.txt
git reset --hard
, но ничего не работает. Единственный способ снова очистить рабочую копию - chmod 644 file.txt
.
Файлы лежат на NAS Synology. Я монтирую cifs на свою Linux-машину. Я играл с вариантами крепления noperm
, file_mode
, dir_mode
, но не могу заставить его работать.
Я читал около git config core.filemode false
, но я не уверен, правильно ли это сделать здесь. Я боюсь повредить свой репозиторий. Сохраняет ли Git информацию о разрешениях в репозитории/индексе? Могу ли я это проверить? Возможно, я уже сделал что-то неправильно с моими регентами.