dem*_*gar 24 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 /中的文件
提前致谢!
Kju*_*uly 33
fatal: index file open failed: Permission denied通过运行得到相同的错误git status,我检查.git/index了
$ ls -al .git/index
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,它是
---------- 1 Kjuly staff 768248 Sep 2 11:07 .git/index
Run Code Online (Sandbox Code Playgroud)
我不知道为什么以及如何改变.反正,我改变后的许可回644用
$ chmod 644 .git/index
Run Code Online (Sandbox Code Playgroud)
git status 作品.
我遇到了同样的问题,想知道可能是什么原因..环顾四周,思考我在做什么以及什么接触了文件系统和工作目录 - 我怀疑这些文件是由 IDE 用一些命令打开的锁,当我在终端 git 中执行合并和更改分支时。关闭IDE,关闭shell,git pull正常,没有错误消息。我在系统中没有进行任何用户更改,因此我认为文件锁定或 IDE 在幕后使用 git 存储库“为我”执行的操作是原因。希望这对某人有所帮助。如果您遇到同样的问题并且想要弄清楚问题的根源(而不仅仅是修复它),请问自己“谁/什么可能会接触并更改我的 .git 和工作目录的文件所有权”?就我而言,嫌疑人是 Microsoft Visual Studio。我认为远程回购类型的调查和操作只是转移注意力和伤口敷料(或核选择),没有触及问题的症结所在。
确保.git目录及其文件/子目录由用户拥有和写入.这听起来像存储库是在不同的用户帐户下克隆的,或者是root用户(例如,通过sudo).
托管存储库的远程位置无关紧要,git status仅访问本地存储库.