2015-05-04 2 views
5

У меня есть automate клонирование хранилища и выборка всех подмодулей. URL-адреса для подмодулей репозитория указаны в .gitmodules. Если бы я был пойти с невыполнением я бы просто сделатьКлонировать репо с подмодулями: переопределить учетные данные

git clone --recursive https://username:[email protected] 

Проблема в том, учетные данные не включены в .gitmodules файл и я пробужден для тех, когда я клонировать. Я должен использовать HTTPS, а не SSH.

Я попытался представить полномочия с помощью Git конфигурации:

git clone https://username:[email protected] my_repo 
cd my_repo 
git submodule init 
git config submodule.my_submodule.url "https://username:[email protected]/my_submodule.git" 
git submodule update 

, но я получаю запрос на ввод учетных данных в последней стадии обновления. Я проверил, что URL подмодуля верен и имеет правильные учетные данные в файле .git/config.

+1

Вы попробовали '' git subodule sync''? –

+1

Оказывается, я не использовал собственное имя для 'my_submole'. Введено в заблуждение по завершению табуляции. Я нашел собственное имя в '.gitmodules'. – sakovias

ответ

3

Похоже, вы пытаетесь использовать учетные данные git, но не повезло.

Вариант 1

Добавить учетные данные с использованием учетных данных помощника:

git config credential.https://example.com.username myusername 
git config credential.helper "$helper $options" 

Проверьте ~/.gitconfig и убедитесь, что соответствующая запись будет добавлена.

Дальнейшее чтение: http://git-scm.com/docs/gitcredentials

Вариант 2

Я бы дважды проверить содержимое ваших .git-учетные файлы и сделать новую запись для субмодуля, если его нет. Этот файл используется внутренним помощником git credentials.

http://git-scm.com/docs/git-credential-store

Вариант 3

Простое решение в окнах, чтобы удалить имя пользователя, пароль из файла модулей:

[submodule foo] 
    path = sub/foo 
    url = https://example.com/git/foo.git 

И создать ~/.netrc файл.

machine example.com 
    login myusername 
    password areamandyingtotellsomeonehiscoolpassword 

Kudos to Git submodule URL not including username?.

7

После editting в .gitmodules файл, вам необходимо применить изменения, используя

git submodule sync 

В следующий раз, когда вы запускаете git submodule update новый URL будет использоваться.

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