Chaque fois que j'essaie de pousser dans mon repo, git demande les deux username & password
.
Je n'ai aucun problème à ressaisir mon mot de passe à chaque fois mais le problème vient de la saisie du nom d'utilisateur. J'utilise https
pour cloner mon référentiel.
Alors, comment puis-je configurer git pour qu'il ne demande pas username
à chacun git push
.
Je suis nouveau sur Linux mais l'IICR sous Windows git push
ne demande que le mot de passe.
Réponses:
Modifier (par @ dk14 comme suggéré par les modérateurs et les commentaires)
AVERTISSEMENT: si vous utilisez
credential.helper store
la réponse, votre mot de passe sera stocké complètement non chiffré ("tel quel") sur~/.git-credentials
. Veuillez consulter la section des commentaires ci-dessous ou les réponses de la section "Lié", surtout si votre employeur a une tolérance zéro pour les problèmes de sécurité.Même s'il est accepté, il ne répond pas à la question du PO sur l'omission d'un nom d'utilisateur uniquement (pas d'un mot de passe). Pour les lecteurs ayant ce problème précis, la réponse de @ grawity pourrait être utile.
Réponse originale (par @Alexander Zhu):
Vous pouvez stocker vos informations d'identification à l'aide de la commande suivante
Je vous suggère également de lire
$ git help credentials
la source
git config --unset credential.helper
Vous pouvez accomplir cela dans le
.git/config
fichier de votre référentiel local. Ce fichier contient une section intitulée «distant» avec une entrée appelée «url». L'entrée «url» devrait contenir le lien https du référentiel dont vous parlez.Lorsque vous préfixez l'hôte «url» avec votre nom d'utilisateur,
git
vous ne devriez plus demander votre nom d'utilisateur. Voici un exemple:la source
git config credential.helper store
.username for https://gitlab.com:
unable to access 'https://<me>@bitbucket.org:<x>/<y>.git/': Illegal port number
Authentification permanente avec les référentiels Git
Exécutez la commande suivante pour activer la mise en cache des informations d'identification:
L'utilisation doit également spécifier l' expiration de la mise en cache
Après avoir activé la mise en cache des informations d'identification, il sera mis en cache pendant 7200 secondes (2 heures) .
Lire les documents d' identification
la source
git config credntial.helper store
commande dangereuse, qui est chargée de stocker les informations d'identification en clair dans le fichier ~ / .git-credentials? Je pense (et d'après mon expérience) que la commande ... cache ...- est suffisante:git config --clogal credential.helper 'cache --timeout 7200'
elle crée le~/.git-credential-cache
répertoire : avec le fichier cache dedans Donc, exécutez simplement cette commande et PAS la commande "... store"Ajoutez de nouvelles clés SSH comme décrit dans cet article sur GitHub .
Si Git vous demande toujours le nom d' utilisateur et mot de passe, essayez de changer
https://github.com/
de[email protected]:
dans l' URL à distance:la source
git config remote.origin.url "ssh://git@yourRepoHost/yourRepoName.git"
Le moyen le plus simple que j'ai trouvé était avec cette commande:
Cela fonctionne site par site et modifie votre configuration git globale.
Pour voir les changements, utilisez:
la source
Si vous utilisez https au lieu de ssh, vous pouvez modifier "url"
.git/config
comme le dit user701648, mais si vous le souhaitez, vous pouvez également ajouter le mot de passe:la source
@
inclus dans mon mot de passe?url = https://username:abc@[email protected]
Ça me donne une erreurCould not resolve host: @[email protected]
username
partie semble être ignorée, lorsque le serveur redirige (comme de FOO vers FOO.git).Vous pouvez définir votre nom d'utilisateur pour tous les référentiels d'un site donné en mettant quelque chose comme ce qui suit dans votre fichier de configuration Git. Vous souhaiterez remplacer " https://example.com " et "moi" par l'URL réelle et votre nom d'utilisateur réel.
(Ceci est directement à partir des "informations d'identification de l'aide git")
la source
Changer le repo cloné fonctionne:
L'utilisation des informations d'identification mises en cache fonctionne et la définition du délai d'expiration rend les choses moins ennuyeuses. Si vous utilisez l'assistant d'informations d'identification Windows, cela devrait être la méthode la plus simple (surtout si SSH est bloqué).
la source
Assurez-vous que vous utilisez SSH au lieu de http. Vérifiez cette réponse SO.
la source
http
car dans mon universitéssh
est bloqué par le département sys-admin.git config --global credential.helper cache
la source
En plus de la réponse de user701648, vous pouvez stocker vos informations d'identification dans votre dossier de départ (global pour tous les projets), au lieu du dossier de projet à l'aide de la commande suivante
la source
Quand je ne fais que git pull , git pull origin xxx , git demande à la fois le nom d'utilisateur et le mot de passe.
Ça marche.
la source
Le moyen le plus simple consiste à créer un
~/.netrc
fichier avec le contenu suivant:(comme indiqué ici: https://gist.github.com/ahoward/2885020 )
Vous pouvez même fermer les autorisations sur ce fichier afin que personne ne puisse lire votre mot de passe en tapant:
la source
Si vous utilisez la version SSH , vous n'aurez aucun problème avec les mots de passe.Une seule fois vous générez une clé SSH , pour dire à git, que ce pc fonctionnera avec ce compte github et ne me demandera plus jamais aucun accès (pour ce pc).
Comment générer SSH pour Github
la source
Pour éviter d'entrer le nom d'utilisateur, mais toujours être invité à entrer un mot de passe, vous pouvez simplement cloner votre référentiel, y compris le nom d'utilisateur:
la source
$ git config credential.helper store
$ git push / push https://github.com/xxx.git
Saisissez ensuite votre nom d'utilisateur et votre mot de passe.
la source
git push/push https://github.com/xxx.git
devrait pas être le casgit push https://github.com/xxx.git
ssh
+key authentication
est un moyen plus fiable quehttps
+credential.helper
Vous pouvez configurer pour utiliser SSH au lieu de HTTPS pour tous les référentiels comme suit:
url.<base>.insteadOf
est documenté ici .la source
Méthode rapide
récupérez l'url de votre git lorsque vous travaillez dans le répertoire de travail:
puis :
demandera le nom d'utilisateur et le mot de passe une dernière fois
terminé.
la source
Vous pouvez simplement courir
après l'installation et la connexion à GIT pour Windows dans votre système.
la source
(Uniquement pour Mac OS)
pour Windows et Linux veuillez vous référer au lien de documentation de Github mentionné ci-dessous.
Depuis la documentation Github: Lien vers la documentation
Mettre en cache votre mot de passe GitHub dans Git
Vous avez besoin de Git 1.7.10 ou d'une version plus récente pour utiliser l'assistant d'informations d'identification osxkeychain.
pour découvrir que l' osxkeychain helper est déjà installé:
si vous obtenez la réponse suivante, vous l'avez déjà installée et prête à l'emploi sur votre mac:
si vous n'obtenez pas de réponse comme indiqué ci-dessus, vous pouvez l'installer en exécutant la commande suivante:
pour dire à git d'utiliser globalement osxkeychain pour les informations d'identification git:
Il vous demandera une fois avant d'enregistrer les informations d'identification dans le trousseau .
la source