Puis-je ajouter un nom d'utilisateur & mot de passe pour git clone à l'aide de l' --recursive option (pour les submodules)?
Je suis en utilisant git clone un repo via https donc:
git clone https://username:password@alocation/git/repo.git
C'est bien, mais il a un grand nombre de subrepos cloner ainsi donc, je suis en utilisant le --recursive
option.
Problème, c'est que pour le haut niveau, il prend le nom d'utilisateur & pass précisé, mais pour chaque sous repo il vous le demande à nouveau si je reçois le suivant:
C:>git clone --recursive https://username:password@alocation/git/repo.git
Cloning into repo...
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 15 (delta 8), reused 0 (delta 0)
Unpacking objects: 100% (15/15), done.
Submodule 'sub1' (https://alocation/git/repo.sub1) registered for path 'sub1'
Submodule 'sub2' (https://alocation/git/repo.sub2) registered for path 'sub2'
Submodule 'sub3' (https://alocation/git/repo.sub3) registered for path 'sub3'
Submodule 'sub4' (https://alocation/git/repo.sub4) registered for path 'sub4'
Cloning into sub1...
Username:
Password:
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 10 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (10/10), done.
Username:
..............................etc....
Puis-je donner le nom d'utilisateur & mot de passe separably donc je ne pas avoir à le saisir à chaque fois.
Évident de cas d'utilisation est d'une profonde subrepo structure comme celle-ci où il y a beaucoup de fichiers. La saisie des mêmes données pour chaque subrepo va s'avérer fastidieuse & sujettes à erreur.
OriginalL'auteur Neophyte | 2011-03-24
Vous devez vous connecter pour publier un commentaire.
Les informations d'identification devrait être valable pour tous les submodules avec une adresse censé accepter.
Un seul cas où il peut tomber en panne, c'est quand le .gitmodules fichier de points à un autre repo, comme illustré par la cas 214 de l'Intuition Kod projet.
À faire en sorte que ces informations d'identification sont transmises à chaque demande d'alocation serveur, vous n'avez pas besoin de bidouiller quoi que ce soit dans Git, mais c'est probablement un ssh, curl ou les paramètres de proxy http.
Je voudrais écarter ssh (alocation de ne pas exécuter quoi que ce soit comme "nom d'utilisateur", mais plutôt d'avoir un compte d'utilisateur dédié).
Vérifier votre http_proxy et https_proxy variable d'environnement si vous avez un proxy.
Mais essayez aussi d'un simple
curl https://alocation/git/repo.git
:Avec un
$HOME/.netrc
(%HOME%\_netrc
sur Windows), vous pouvez spécifier le login/mot de passe prévu.Si ce travail pour
https://alocation/git/repo.git
(c'est à dire, sans vous demander un nom d'utilisateur et mot de passe), il va travailler pour tout autre dépôt( ici submodules).Je soupçonne que ce n'est pas un Git de problème. J'ai mis à jour ma réponse illustre les autres pistes à explorer: mon pari est sur le
.netrc
fichier.Merci de l'ajout de la _netrc a fait le tour
excellent! Je l'utilise pour pousser à GitHub, sans avoir à entrer dans mon GitHub mot de passe du compte.
+1 bon de savoir que .netrc travaille pour cela
OriginalL'auteur VonC