在许多帐户中使用Git without Sudo

hhh*_*hhh 11 git ubuntu sudo

如何在一个Ubuntu中的多个帐户中使用没有Sudo的Git?

我的Ubuntu有很多账号.新帐户的创建使我无法访问Git,没有sudo.

我改变了所有者是我,马嘶,并且该组将admin马嘶属于.我有Git的以下权限

800 -rwxrwxrwx 1 masi admin 813744 2009-02-20 23:01 /usr/bin/git
Run Code Online (Sandbox Code Playgroud)

在尝试使用Git时,我收到以下消息

git status
fatal: unable to create '.git/index.lock': Permission denied
Run Code Online (Sandbox Code Playgroud)

我运行find . -iregex ".*index.l.*它返回没有匹配,所以似乎没有index.lock锁定系统.我也用sudo运行相同的命令失败了.

Jør*_*ode 18

如果我正确理解您的问题,您需要授予几个*nix用户帐户对同一git存储库的写访问权限.使用--share命令行参数git init应启用此功能.GitWiki对此有几句话要说.这应该做的伎俩:

git --bare init --shared=all
Run Code Online (Sandbox Code Playgroud)

如果您已经创建了存储库,则可以通过抛出此命令将其转换为"共享存储库":

git repo-config core.sharedRepository true
Run Code Online (Sandbox Code Playgroud)

在您的存储库中,如moserei.de上的博客文章中所述.

2014更新:这仍然是可能的,但命令已从repo-config更改为config.

git config core.sharedRepository true
Run Code Online (Sandbox Code Playgroud)


Ala*_*avi 7

Git意在分发.因此,每个用户都应该有一个他/她自己的单独存储库.上述方法与该方法相矛盾.除此之外,我怀疑.git目录的权限.


Dou*_*der 5

我猜是.git目录的所有权是问题所在.

您不应该使用来自不同用户的一个源树 - 这可能会导致问题.

git可执行文件不是问题.它应该由root拥有,并拥有755个权限.(-rwxr-xr-x)

换句话说,您可以使用多个帐户中的git,但不应共享一个工作目录.