2013-02-12 94 views
7

我有一个问题,当我尝试克隆与协议“Https”我的Gitlab项目。随着git协议一切正常。错误克隆项目gitlab与https

错误:

Cloning into 'test'... 
fatal: https://XXXX.XXXX.XXXX.XXXX/user.name/test.git/info/refs?service=git-upload-pack 
not found: did you run git update-server-info on the server? 

我已经尝试了许多解决方案,但误差仍然在这里。

有人可以帮助我吗?

感谢对你的帮助,有一个愉快的一天!

+0

哪个GitLab版本,你运行? – VonC 2013-02-12 11:30:10

+0

这里的问题相同。我有4.2的全新安装以及4.2的升级安装。 – bbodenmiller 2013-03-14 00:33:49

+0

你想克隆一个新项目吗? – bbodenmiller 2013-03-14 08:00:48

回答

0

此错误的一个常见原因是某种形式的URL错误。确保你做对了。你可以通过HTTP克隆吗?您的服务器是否设置为通过HTTP和HTTPS提供存储库?

如果您的客户端的git(读的git --version输出),也将无法使用智能HTTP后端。

GitLab issue #1924一个意见建议排除在服务器端的权限问题。

+0

没有URL是正确的,但我无法通过HTTP进行克隆。我检查了你给我的链接,但没有解决我的问题。 – Florent 2013-02-12 13:20:45

+0

git版本是1.8.1.msysgit.1。 – bbodenmiller 2013-03-14 00:35:41

0

当您在.../gitlab/config/gitlab.yml配置文件中更改gitlab应用程序的relative_url_root变量的默认配置时,可能会发生此错误。默认值是/。当您将默认值更改为例如/gitlab,将URL

http://your.domain/gitlab 

这被正确地显示作为克隆URL在用户界面项目,例如

http://your.domain/gitlab/group/project.git 

但不知何故,这个配置没有被检查,而是通过http或https进行实际克隆。

目前已经在github上gitlab问题列表已经得到了discussion and a bugfix了。这里是the rawfile

我的配置是gitlab V5.0和gitlab壳V1.1.0。

2

我的问题是Apache配置文件。我的示例配置

<VirtualHost ip:80> 
    ServerName git.domain.tld 
    Redirect permanent/https://git.domain.tld/ 
</VirtualHost> 

<VirtualHost ip:443> 
    ServerName git.domain.tld 
    DocumentRoot /home/git/gitlab/public 

    <Location /> 
    ProxyPassReverse http://127.0.0.1:8080 
    ProxyPassReverse http://git.domain.tld 
    </Location> 

    RewriteEngine on 
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
    RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA] 
    RequestHeader set X_FORWARDED_PROTO 'https' 
</VirtualHost> 

来源:https://github.com/gitlabhq/gitlab-recipes/blob/master/web-server/apache/gitlab-ssl.conf