2016-10-19 5 views
0

Я бег следующей git clone команды:Почему «мерзавец клон» пытается использовать протокол HTTPS

git clone http://gitlab.example.com/project/component.git 

Но я получаю эту ошибку:

Cloning into 'component'...
fatal: repository 'https://gitlab.example.com/project/component.git/' not found

Как вы можете видеть, мерзавец пытается клонировать HTTPS-url, которого не существует. Есть ли какая-либо конфигурация для отключения этого поведения?

p.s. Я пытаюсь следующую команду:

$ git config --global url.http://gitlab.example.com/.insteadOf https://gitlab.example.com/ 

А вот содержание ~/.gitconfig файла:

[http] 
    sslverify = false 
[url "http://gitlab.example.com/"] 
    insteadOf = https://gitlab.example.co 

Но я все еще получаю ту же ошибку при запуске git clone.

P.S.2: Я выполняю эту команду в контейнере докера на основе jessie debian image. Может ли это быть источником проблемы?

+0

Просто попробовал это и получил '' 'фатальный: не удалось получить доступ 'http://gitlab.example.com/project/component.git/': Не удалось разрешить хост: gitlab.example.com''' Так может быть это вопрос сообщения об ошибке, и хост я действительно недоступен? –

+0

@KamilSarna Это фиктивный git URL-адрес, просто чтобы продемонстрировать проблему. – Meysam

+0

@Meysam так же доступен для хоста и не настроил перенаправление для этого URL-адреса? – eis

ответ

0

Проблема была в DNS установлен в /etc/resolv.conf в Докер контейнере:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) 
#  DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 
search example.com 

nameserver 8.8.8.8 
nameserver 8.8.4.4 

Так я добавил IP локального gitlab к следующий файл:

/etc/hosts

192.168.20.112 gitlab.example.com 

И проблема была исправлена.

0

Попытка отменить протокол по умолчанию для URL:

$ git config --global url.http://gitlab.example.com/.insteadOf https://gitlab.example.com/ 
+0

Я сделал это, но я все равно получаю ту же ошибку :( – Meysam

Смежные вопросы