【发布时间】:2012-01-30 21:29:44
【问题描述】:
我正在尝试在我的 linux 服务器上设置一些 git 存储库,以便与一些从事 Java 项目的朋友分享。我闻了一下,发现 gitolite 应该是一个很好的管理层,所以在查看了他们的文档后,我决定学习这个教程:
http://sites.google.com/site/senawario/home/gitolite-tutorial
在第 6 步之前一切都很顺利。在那里,用于存储库路径的语法不起作用,因为服务器上的 sshd 没有侦听默认端口,并且该语法不喜欢非默认端口,所以在更多研究我很快发现 git 支持 ssh://etc。唯一的问题是它需要在 URL 中包含完整的存储库路径。
当我到达第 7 步并且管理存储库无法推送时,我发现 gitolite 不喜欢完整路径。故障排除部分建议我创建一个主机别名,如下所示:
http://sitaramc.github.com/gitolite/sshhostaliases.html
这应该允许我使用 hostalias:reponame 作为路径。尽管要求每个用户都这样做很烦人,但我们还是采用了这种方法,却发现它根本不起作用。我们的用户正在运行 windows 和 msysgit。
总结一下:
- 服务器的 sshd 监听一个非默认端口;这是无法更改的。
- gitolite 似乎需要相对路径。相对路径仅在默认端口或使用主机别名时可用。
- 我们的用户正在运行 Windows 7(不可更改)和 msysgit(可更改,如果有什么更好的吗?)。我们的设置似乎不喜欢主机别名。
是否有解决方案,还是我们必须放弃 gitolite 并找到其他东西?
【问题讨论】:
标签: git ssh cmd msysgit gitolite