linux - Git:索引文件打开失败:权限在 "git status"上被拒绝。托管在 Bitbucket 上

标签 linux git bitbucket

过去几天我在尝试制作 git status 或 git pull 时一直遇到这个问题。存储库托管在 Bitbucket 上。

尝试了几种方法来实现此功能(在 stackoverflow 上有一些与此相关的帖子,但它们没有用)。

问题是:

user@Host:/repo/$ git status
fatal: index file open failed: Permission denied
fatal: git status --porcelain failed

如果我执行“git pull”:

user@Host:/repo/$ git pull
remote: Counting objects: 77, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 56 (delta 37), reused 41 (delta 22)
error: insufficient permission for adding an object to repository database .git/objects

fatal: failed to write object
fatal: unpack-objects failed

我仔细检查了本地权限,一切似乎都很好。我有权访问所有文件。

注意:

如果我使用“sudo”,一切似乎都正常工作,但是我在该部署机器上没有任何用于 root 的 SSH 凭据。这让我觉得这是权限问题(正如错误所解释的那样),但是:如果我是所有文件的所有者,包括 .git/中的文件,它可能是什么

提前致谢!

最佳答案

通过运行 git status 得到同样的错误 fatal: index file open failed: Permission denied,我检查了 .git/index

$ ls -al .git/index

令我惊讶的是

----------  1 Kjuly  staff  768248 Sep  2 11:07 .git/index

我不知道为什么以及如何改变。无论如何,在我通过

将其权限更改回 644 之后
$ chmod 644 .git/index

git status 有效。

关于linux - Git:索引文件打开失败:权限在 "git status"上被拒绝。托管在 Bitbucket 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15255785/

相关文章:

python - 如何在只有一个密码提示的情况下实现具有root权限的多个命令?

linux - 在 linux 服务器中为 apache 分配内存

linux - 如何在控制台中从 "vim -y"退出?

git - 在 master 上重新建立功能分支,不包括以前的功能分支

configuration - 是否可以针对bitbucket管道中不同的更改文件触发不同的任务?

linux - 如何自动调整QTableView的大小

Git路径匹配任意目录名

git - Perl 脚本在 tom cat 6.0 上变慢并产生服务超时

version-control - 将旧项目历史转移到 DVCS

ios - 我应该如何删除错误的提交并移动原点