我和一些同事一直致力于存储在私有git存储库中的项目。从历史上看,没有任何问题,但最近我试图克隆,并遇到以下问题:
Cloning into 'project'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
git log
提供:
致命:你当前的分支'master'还没有任何提交
这是不正确的 - 我的同事在12月6日推动了大量(非空)的更改(虽然现在该分支没有显示在--single-branch克隆尝试)。当他进入git存储库时,那里有很多目录结构。
所以我的问题:
答案 0 :(得分:7)
如果repo托管在gitlab服务器上,并且您使用git而非http
来克隆repo,则可能与此相关:
Git over HTTP will receive an empty repo if giltab-git-http-server
is not properly configured
如果由于某种原因
gitlab-git-http-server
未正确配置, 或者您正在使用直接转发的自定义nginx或Apache代理 到Unicorn并且您尝试通过HTTP克隆,请求成功, 你收到一个200和一个空的回购。
快速修复是使用 git over ssh 来克隆回购。
答案 1 :(得分:2)
您已经克隆了正确的存储库。我认为他们没有推进主分公司。其他分支将像origin / developemnt-example那样存在。 您需要创建一个可以跟踪远程分支的本地分支,然后您可以获取最新的代码。这是您跟踪远程分支的方法:
git branch --track dev-example origin/dev-example
git checkout dev-example
答案 2 :(得分:0)
在克隆没有提交的新创建的存储库时会发生这种情况。
如前所述,这只是一个警告。如果预计存储库中没有任何内容,则可以继续添加文件,提交并后退。
如果不应该为空,请联系为您提供链接的人员/管理员。
答案 3 :(得分:0)
对于我来说,当我尝试从另一台计算机克隆存储库时,这是一个愚蠢的错误:我使用https
而非ssh
作为URL中的协议。令人惊讶的是,我没有任何错误,但是消息“您似乎已经克隆了一个空的存储库”。