git 应该如何解析 gitlab 生成的 URL?

git 应该如何解析 gitlab 生成的 URL?

成功安装并运行 gitlab 后,我尝试导入现有项目。为此,我创建了一个空项目,然后在项目页面上获得了一系列说明,说明如何将现有的 repo 数据推送到 gitlab 项目中:

    cd existing_git_repo
    git remote add origin [email protected]:root/testproject.git
    git push -u origin master

但当我这样做时,我收到以下消息:

    fatal: 'root/testproject.git' does not appear to be a git repository
    fatal: Could not read from remote repository.

当查看我的存储库文件夹时,存储库已由 gitlab 在那里创建,并且当使用 http-URL 而不是 git-URL 时,一切都按预期工作。

怎么git push应该知道如何解决[电子邮件保护]:根目录/测试项目.git”[电子邮件保护]:/home/gitlab/repositories/root/testproject.git”?gitlab 是否应该创建 git 服务器?如果是,我应该从哪里开始挖掘以找出为什么 gitlab 告诉我将远程指向的位置没有找到存储库?

-

编辑:当我搜索“root/testproject.git”时,我得到以下结果:

    [gitlab@gitlab gitlab]# grep -r "root/testproject.git" *
    gitlab/log/sidekiq.log:Initialized empty Git repository in /home/gitlab/repositories/root/testproject.git/
    gitlab-shell/gitlab-shell.log:I, [2014-01-23T16:38:16.974051 #5390]  INFO -- : Adding project root/cashio.git at </home/gitlab/repositories/root/testproject.git>.

编辑2:如果有帮助的话:使用git remote 设置 url gitlab[电子邮件保护]:/home/gitlab/repositories/root/testproject.git而是按预期工作。

答案1

好吧,原因很简单,但对我来说并不明显。一切都描述如下:https://github.com/gitlabhq/gitlabhq/issues/3686

归根结底:必须使用 gitlab-shell 的密钥,并让 gitlab 管理这些密钥,而我不知道这一点。当使用密钥认证并使用 gitlab-webinterface 存储密钥时,推送、拉取和克隆现在可按预期工作。

相关内容