0

我有一个本地存储库,我已将其克隆到同一台机器上的另一个目录。

当我对克隆和提交进行一些更改然后推送时,我收到以下错误消息

我再次强调,我从中进行推送的克隆存储库和目标存储库都是本地的,并且我对两者都有读/写访问权限。

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

但再次推动会产生相同的错误

4

1 回答 1

0

看来我有一个分支,在我试图推送的本地远程中有两个存储区。

使用 git branch -d 删除分支

并使用 git stash list 和 git stash drop 删除存储

解决了问题

于 2020-03-05T15:15:33.383 回答