我刚刚访问了一个有人说是“git 存储库”的服务器
我以前没有用过 git,但我认为这一定意味着某个地方有一组文件是其他开发人员在进行 git 更新时从中提取的“黄金副本”。我如何找到这些目录?我如何确定想要签出的人可以使用的“访问 URL”是什么?
谢谢
答案1
请注意,Git 以及其他 DVCS 使用的概念与集中式 SVN 或 CVS 系统略有不同。特别是,正常用法不是“签出”,而是克隆存储库,下载其完整历史记录,而不仅仅是头部 - 换句话说,您的服务器拥有“黄金副本”这一事实只是政治性的,任何克隆都可以轻松用作“黄金副本”。这现在不是很重要,但仍然值得记住,特别是当您忘记备份时......
查明用于设置服务器的软件是什么——是 Gitolite、Gitosis,还是只是自定义 ssh + git-daemon 设置?
Gitolite 和 Gitosis 使用中央配置文件,并将所有内容保存在名为 的帐户的主目录中git
。运行cd ~git
,在那里查找存储库。URL 可能用于公共访问和通过 SSH 推送。Gitosis 和 Gitolite 都有单独的管理工具 - 尝试命令。git://<server>/<repository>.git
git@<server>:<repository>.git
gitolite
如果系统中不存在这样的帐户,或者它不包含“admin”存储库,请检查是否有任何东西在端口 9418(Git 智能协议端口)上监听;如果是git-daemon
,请使用 检查其命令行。公共 URL 仍将以 开头,但其余部分取决于 git-daemon 的命令行选项;它可能需要也可能不需要完整的文件系统路径,它可能支持也可能不支持“vhosts”;它可能启用也可能不启用userdirs 样式。SSH 地址可能是;请注意,即使没有 git-daemon,SSH 也始终有效。ps www <pid>
git://<server>/
~username/path/repo.git
<username>@<server>:</path/to/repo>.git
服务器可能还设置了 Web 界面(cgit 或 gitweb),其中应列出所有已配置的存储库。尝试通过 Web 浏览器访问它。查看/etc
gitweb/cgit 的配置。
一个有用的命令是,它可以快速显示存储库的摘要而无需克隆它。这样您就可以检查 URL 是否有效。git ls-remote <url>