Запретить временные файлы в git workdir - PullRequest
0 голосов
/ 05 сентября 2018

Я использую git для папки в синхронизированной папке (Google Drive File Stream, G :). .git - это файл, ссылающийся на местоположение на обычном диске, (C:).

Я заметил, что git создает временные файлы: master, index и config.

Из-за особенностей Google Диска эти файлы не удаляются корректно, создавая надоедливые копии.

...    
config (110)
config (111)
index
index (1)
index (2)
...
master
master (1)
...

Это не файлы в папке .git, а в рабочем каталоге.

Есть ли способ запретить git работать с временными файлами в рабочем каталоге?

Все в G:

Для сравнения, git-репозиторий, полностью расположенный в G :, gitdir и workdir, прекрасно работает без создания этих остатков.

1 Ответ

0 голосов
/ 05 сентября 2018

Нет, тут нет пути.

Я использую git для папки в синхронизированной папке (Google Drive) ...

По сути, правило таково: не делай этого. Git плохо работает с этими вещами (Google Drive, Dropbox, общие папки Virtualbox и т. Д.). Git должен создавать временные файлы в рабочем дереве, потому что он использует / зависит от атомарности операций rename для управления состоянием. Эти системы нарушают правила атомарности переименования локальной файловой системы и поэтому нарушают Git.

Это работает , иногда работает, и когда это происходит, может быть, нормально смириться со странностями. (Установка некоторых параметров индекса иногда может помочь, например, core.trustctime=false, core.ignoreStat=true.) Но это нельзя сделать на 100% надежным.

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