Linux git运行时的文件权限是否可以少于它跟踪的文件?

Linux git运行时的文件权限是否可以少于它跟踪的文件?,linux,macos,git,sudo,chmod,Linux,Macos,Git,Sudo,Chmod,情况是这样的:我想使用git跟踪root拥有的首选项文件目录 如果不修改文件(如git status和git diff)的git命令可以在没有sudo的情况下作为用户运行,那就太好了 通过以下步骤,我创建了一个似乎以合理方式运行的回购协议: sudo mkdir .git sudo chmod <user>:<group> .git git init git add . git commit -m "initial commit" 我可以以用户身份运行git statu

情况是这样的:我想使用git跟踪root拥有的首选项文件目录

如果不修改文件(如git status和git diff)的git命令可以在没有sudo的情况下作为用户运行,那就太好了

通过以下步骤,我创建了一个似乎以合理方式运行的回购协议:

sudo mkdir .git
sudo chmod <user>:<group> .git
git init
git add .
git commit -m "initial commit"
我可以以用户身份运行git status和git diff。git签出。。。和git重置。。。作为用户失败,但在前缀为sudo时似乎运行良好

这似乎很完美:没有sudo需要进入回购协议并查看发生了什么,但要更改跟踪的文件需要额外的努力,就像系统文件一样

问题是:这会不会给我带来git如何读取和写入.git目录中的文件的问题?我需要sudo运行的任何命令最终是否会在.git中创建具有root权限的内容,从而在尝试运行不以用户身份修改跟踪文件的命令时出现问题


谢谢您的回答。

第一步可能是将.git存储库放在您自己的目录中,然后始终将-git dir传递给git命令或使用别名。谢谢@pmr,我不知道-git dir选项;我去看看。正如我上面所说的,它现在似乎工作得很好,但我对git的内部结构不太了解,也不知道作为两个具有不同权限级别的不同用户运行命令是否会带来一个难题。