Git Push Failure: невозможно перенести объекты в постоянное хранилище

У меня есть локальный репозиторий, который я клонировал в другой каталог на том же компьютере.

Когда я делаю некоторые изменения в клоне и фиксирую, а затем нажимаю, я получаю следующее сообщение об ошибке

Я еще раз подчеркиваю, что и клонированный репозиторий, из которого я выполняю push, и целевой репозиторий являются локальными, и у меня есть доступ для чтения и записи к обоим.

Rafael@MachineID MINGW64 /i/..path.. /Git Clones/Main_Model_Clone (master)
$ git push
Enumerating objects: 267, done.
Counting objects: 100% (267/267), done.
Delta compression using up to 4 threads
Compressing objects: 100% (146/146), done.
Writing objects: 100% (146/146), 52.46 KiB | 55.00 KiB/s, done.
Total 146 (delta 139), reused 0 (delta 0)
remote: Resolving deltas: 100% (139/139), completed with 120 local objects.
error: unable to write file ./objects/pack/pack-299a7ef5ff8b23d37057bcedcfe27a1f0d45d540.idx: Permission denied
To file://i:/ .. path ..  /Main_Model
 ! [remote rejected] master -> master (unable to migrate objects to permanent storage)
error: failed to push some refs to 'file://i:/ .. path ..  /Main_Model'

Столкнувшись с этим сообщением Что означает git, говоря "невозможно перенести объекты в постоянное хранилище"?

Я понимаю, что у меня проблема с разрешением в удаленном локальном репозитории, поэтому я проверяю файлы в локальном удаленном каталоге: .git/objects/pack, и действительно, один файл доступен только для чтения

Rafael@MachineID MINGW64 /i/.. path ..  /Main_Model/.git/objects/pack (GIT_DIR!)
$ ls -l
total 1580
-rw-r--r-- 1 udoai14 1049089    8520 מרץ  5 11:41 pack-299a7ef5ff8b23d37057bcedcfe27a1f0d45d540.idx
-r--r--r-- 1 udoai14 1049089 1604176 מרץ  5 13:19 pack-299a7ef5ff8b23d37057bcedcfe27a1f0d45d540.pack

но выполнение chmod -R g+w * в папке объектов, как предлагается в первом комментарии ответа, не помогает, потому что при следующем нажатии файл снова изменится с rw на r-

я тоже пробовал

git config core.sharedRepository true, как в этом посте

https://serverfault.com/questions/26954/how-do-i-share-a-git-repository-with-multiple-users-on-a-machine

но повторное нажатие дает ту же ошибку

1 ответ

Решение

Похоже, у меня была ветка с двумя тайниками на локальном пульте дистанционного управления, на которые я пытался нажать.

Удаление ветки с помощью git branch -d

и удаление тайников с помощью git stash list и git stash drop

Решил проблему

Другие вопросы по тегам