如何将gitosis仓库符号链接到另一个位置?

3

我在一个用户的公共目录下有实际代码,它在/home/user1/public_html/dev中。

对于gitosis,我必须设置另一个用户Git,并且gitosis希望将其存储库放在“/home/git/repositories/”中。

所以,从我所读到的最好且最容易的方法就是将它们符号化链接起来。但是应该链接哪个目录到哪个目录呢?

当我在本地创建新的“test”项目时,我在“test”文件夹中有.git子文件夹,但是当我将其推送到“/home/git/repositories/”中时,它会在远程服务器上创建test.git文件夹,并包含本地.git文件夹的内容,但我看不到实际的文件?

所以,我有点困惑这是如何工作的以及应该链接什么。请注意,这是我第一次使用git、gitosis和所有这些内容,所以我可能在这一点上提出了一些相当愚蠢的问题,但我真的被卡住了。

1个回答

0

gitosis(已经过时几年了:gitolite更加丰富)})可以使用{{link2:裸仓库:没有工作树的仓库。

/home/user1/public_html/dev是一个带有工作树的仓库。

因此,您不需要将它们直接(符号)链接在一起。

例如,您可以设置一个post-receive hook(在裸仓库中),以便进入非裸仓库并进行pull操作:请参见“Gitosis post-receive hook to deploy repository getting public key errors”。
您可以在这篇博客文章中找到一个更完整的hook脚本

但是要注意的是:两个仓库是独立的,对其中一个进行操作(向裸仓库推送)将通过hook影响另一个仓库。


嘿,我刚开始研究这个。看起来gitolite也有自己的目录来存储仓库?但是在那里链接是否更容易呢? 或者我应该考虑其他选项。实际上,我现在只需要为一个人提供安全访问权限。但是我希望他没有shell访问权限。 - user240891
但是我们更希望他没有shell访问权限,这正是gitolite所做的。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接