5

我已经为一个小团队使用 gitolite 建立了一个 git 服务器。我们中的一个人创建了一个 repo 并使用智能 http 推送了初始提交 - 假设它位于

http://ourhost/project.git

然后我继续使用 ssh 克隆项目,即

git clone git@ourhost:project.git

Git 让我这样做并创建了项目文件夹,但报告说 repo 是的。此外,我所做的任何 git pull 都给了我“找不到远程 ref master ”错误。当我然后跑

git remote -v show origin 

它显示 HEAD 分支:(未知)。当我检查服务器(运行 gitlab)时,我可以看到 master 分支和所有代码,所以它很明显就在那里。

最后,我使用智能 http 和 lo 克隆了它,发现一切正常,我可以继续使用它。

但这是为什么呢?为什么我们每个人使用哪种方法来推/拉很重要?Gitlab 甚至显示了两个 URL(用于 ssh 或智能 http)作为 repos 的替代品,因此它似乎可以正常工作......)

还是我错过了什么……?

4

1 回答 1

3

对于 GitLab V4 和 Gitolite,ssh 仍然是首选的访问方法。
Https 访问可以完全绕过 Gitolite。

由于GitLab V5 不再使用 Gitolite(但现在gitlab-shell改为使用),因此 ssh 和 https 访问可以更一致地使用访问权限管理。

于 2013-04-11T10:58:35.053 回答