我已经为一个小团队使用 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 的替代品,因此它似乎可以正常工作......)
还是我错过了什么……?