某些 git 命令(diff、log)需要 sudo 权限

某些 git 命令(diff、log)需要 sudo 权限

在我的 Ubuntu 17.10 安装中,某些 git 命令需要 sudo 权限才能正常运行(如果没有 sudo,它们会立即返回并且不打印任何输出),而其他命令则不需要。我电脑上每个 git 存储库都存在同样的问题,因此它似乎与任何特定存储库中的权限无关。这些 git 命令要求sudo:

  • 差异
  • 日志
  • 展示

那些确实不是需要 sudo:

  • 添加
  • 犯罪
  • 地位
  • 分支
  • 查看

我完全被难住了,尤其是被允许/不允许的命令的模式难住了。有什么解决方案/建议可以进一步调试吗?

编辑:问题在新存储库中仍然存在。文件夹的权限(来自ls -la):

共 28
drwxr-xr-x 3 morten morten 4096 六月 5 20:52 。
drwxrwxr-x 33 morten morten 4096 六月 5 20:50 ..
drwxr-xr-x 8 morten morten 4096 六月 5 20:53 .git
-rw-r--r-- 1 morten morten 0 六月 5 20:52 test.txt

答案1

您的 .git 中的某些对象的文件所有权是否混乱?您可以尝试更改所有权,然后在不使用 sudo 的情况下再次尝试 git 命令。

sudo chown -R morten:morten .git

还要检查你的 .git/config 和 ~/.gitconfig 以确保您没有为 diff、log 和 show 设置需要 sudo 的东西。

相关内容