git:URL格式远程访问本地git服务器

git:URL格式远程访问本地git服务器

我尝试了本文中的链接,似乎对我不起作用:https://stackoverflow.com/questions/31801271/what-are-the-supported-git-url-formats

问题是,我已经设置了一个本地 git 服务器/srv/repo/,例如,当我在其名称下使用 username 创建一个存储库时test.git--baretestuser想将其添加test.git为来自同一网络中其他本地计算机的远程服务器。

例如,本地 git 服务器的 IP 地址为 192.168.1.10,我需要在 IP 地址为 192.168.1.100 的计算机上添加其存储库。

如果我使用此 URL 并更改 的用户所有者test.git,我可以进行推送和拉取,这意味着它按预期工作:

sudo chown -R git:testuser test.git/
sudo chown -R git:testuser test.git/*
[email protected]:/srv/repo/test.git

但我使用另一个名为 的用户创建了存储库testuser,可能是存储库的用户和组所有者test.git属于testuser,如果我不将用户所有者更改test.git为,则推送和拉取将失败gitsudo chown -R git:testuser test.git/*

我想将远程存储库添加为:作为用户而不是用户git://192.168.1.10/~testuser/srv/repo/test.git/使用,因为我在.testusergittest.gittestuser

答案1

如果您使用 SSH 协议访问服务器端存储库,则您的读/写权限由服务器上的用户/组/世界权限决定。要在存储库上设置此权限,您可以在创建存储库时使用git init带有参数的命令。--shared设置--shared=true会将存储库设置为在组级别可写。然后,同一组的所有用户都可以写入存储库。

然后你的步骤将是这样的:

mkdir test.git
git init --bare --shared=true test.git

当您使用 git 协议时,服务器上有一个处理通信的守护进程。在这种情况下,守护程序和存储库可以由同一用户拥有。

您可以在以下位置找到有关设置服务器端 git 的更多详细信息Git 书

相关内容