Часто, когда я делаю git pull --rebase
, я получаю такой вывод:
> git pull --rebase
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
Enumerating objects: 249988, done.
Counting objects: 100% (249988/249988), done.
Delta compression using up to 12 threads.
Compressing objects: 100% (62830/62830), done.
Writing objects: 100% (249988/249988), done.
Total 249988 (delta 179539), reused 249988 (delta 179539)
Unlink of file '.git/objects/pack/pack-00a0089ffcdc3d5ea5d2cc81042b741ba6d55a7d.idx' failed. Should I try again? (y/n)
Вопрос повторяется около ста раз для каждого файла, который предположительно заблокирован.
Указанный файл может быть произвольным, но это всегда файл в каталоге .git/objects/pack/
. Насколько я могу судить, нет другого программного обеспечения, которое бы блокировало эти файлы.
Кажется, эта проблема возникает в основном после переключения ветвей.
Я использую Git 2.18 в Windows 10.
Я предпочитаю не погружаться в WLS или git-bash. Несмотря на то, что это было бы обходным решением, чтобы заставить работать rebase, в конечном итоге я хочу избавиться от этой проблемы в обычной командной строке.
Другой обходной путь - сначала выполнить git gc
. Эта команда каким-то образом способна освободить эти файлы и заставить последующие команды работать как положено.
Этот вопрос кажется дубликатом моего вопроса, но говорит об исправлении в Git 2.8 (к которому мы сейчас довольно далеки), и в плакате используется git-bash, что является другим сценарием в любом случае.