gpt4 book ai didi

linux - 从 GitHub pull 时的权限问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:14 25 4
gpt4 key购买 nike

我已经使用以下方法将 GitHub 存储库克隆到本地计算机上的新目录中:

git clone git@github.com:*****/project.git destination-dir

克隆工作正常,但每当我尝试 pull 或推时,我都会返回此错误:

error: insufficient permission for adding an object to repository database .git/objects
fatal: git write-tree failed to write a tree

我做错了什么?我该如何解决这个问题。从我目前在网上读到的内容来看,如果您使用自己的存储库(即不是 GitHub),问题就微不足道了,但是如果在 GitHub 上(没有 ssh 访问权限)我该怎么办。

另外,我应该补充一点,我的机器上有另一个目录指向 GitHub 上的同一个存储库,这对于 pull 和推送都很好。

最佳答案

这看起来与 GitHub 本身无关。

从您在评论中所说的来看, stash 的 .git 文件夹(包含所有本地 git 存储库数据)中的写入权限似乎与您的 git 的权限不对应当你运行它时,客户端有。

可能是您使用一个用户帐户(或使用 sudo)克隆了存储库,但试图从另一个用户那里 pull/推送。如果不是这种情况,克隆时可能有什么东西弄乱了您的本地文件权限。

正如您所说,执行 chown -R login:group projectDir/ 解决了问题,因为它递归地重置了项目文件夹中的所有权限(包括 .git 的权限)文件夹及其内容)。


一个好的实验是尝试将相同的存储库克隆到不同的文件夹,以查看问题是否再次发生。如果是这样,则可能是您的默认权限用户掩码和/或您的 git 客户端权限有问题。

关于linux - 从 GitHub pull 时的权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18123525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com