Je travaille avec un référentiel sur GitHub et chaque fois que j'essaie de pousser quelque chose, il me demande mon nom d'utilisateur et mon mot de passe GitHub. Je ne le veux pas faire ça.
J'ai essayé les instructions pour configurer votre email dans Git , à savoir configurer les variables Git github.user et github.token, mais cela ne faisait aucune différence.
Je ne comprends pas pourquoi cela se passe.
Réponses:
Vous devez configurer un agent ssh sur lequel vous ne devez vous authentifier qu'une seule fois. Voir cette réponse à SO pour un howto.
la source
J'ai eu un problème similaire aujourd'hui: j'ai tout gâché dans ma copie de travail, alors j'ai décidé de renommer le répertoire et de cloner à nouveau mon projet depuis github. Mais après cela, je devais entrer mon mot de passe pour faire toute demande d'extraction / de poussée, au lieu d'entrer le mot de passe composé une seule fois comme auparavant.
C'est parce qu'aujourd'hui j'ai utilisé le protocole https pour cloner le projet! Pour vérifier le protocole que vous utilisez, lancez simplement
et regardez la ligne commençant par 'remote.origin.url'.
Pour changer de protocole:
the_repository_username
etyour_project
doit être remplacé par le nom de référentiel approprié et le propriétaire de ce référentiel. Le nom d'utilisateur vous appartiendra si vous possédez le référentiel, ou le nom d'utilisateur du propriétaire du référentiel dans le cas contraire.la source
[email protected]:some-user/repo-name.git
remote.origin.url
jeu à la méthode https et je n'ai même pas remarqué qu'il y avaithttps
vsssh
méthodes. Cette URL m'a aidé à voir l'évidence: help.github.com/articles/…git config remote.origin.url ...
utilisé ci-dessus, vsgit remote set-url origin ...
?git remote rm origin
Si vous utilisez HTTPS au lieu de SSH, vous pouvez suivre ceci:
Recherchez votre URL distante (remote.origin.url) avec
grâce à Sergio Morstabilini
Votre URL distante ressemblera à ceci: https: // {USERNAME} @ github.com / {USERNAME} / {REPONAME} .git
Exécutez cette commande:
la source
@
n'a pas fonctionné pour moi..git/config
fichier!Je préfère utiliser HTTPS, je trouve cela plus facile et plus sécurisé que de configurer les clés ssh.
En utilisant HTTPS, vous pouvez empêcher git de demander votre nom d'utilisateur pour les télécommandes de github avec les éléments suivants:
Et vous pouvez au moins réduire la fréquence à laquelle git vous demande votre mot de passe avec:
Où 28800 sont 8 heures. J'utilise cette configuration pour entrer mon mot de passe une seule fois, lorsque je commence ma journée de travail.
Après cela, vous aurez ces entrées dans votre
~/.gitconfig
La source:
http://git-scm.com/docs/git-credential-cache
http://git-scm.com/docs/git-config
la source
Lorsque vous configurez une clé ssh pour github, si ce n’est pas votre clé par défaut, vous devrez ajouter une section à votre
~/.ssh/config
la source
Si vous utilisez Windows avec HTTPS, essayez Git Credential Store . Il utilise Windows Credential Store pour contenir votre nom et votre mot de passe.
Ensuite, la prochaine fois que vous entrez votre nom et votre mot de passe, ils s'en souviendront pour vous.
la source
De plus, si vous souhaitez que votre mot de passe vous soit demandé à chaque fois, mais pas votre nom d'utilisateur, configurez la télécommande en tant que HTTPS avec un nom d'utilisateur.
Après cela, votre mot de passe vous sera demandé à chaque fois, mais pas votre nom d'utilisateur.
C'est ce que je préfère, car j'aime être obligé de taper mon mot de passe github avant de le partager avec le monde.
la source
Les choses sont un peu différentes si vous utilisez une authentification à 2 facteurs comme je le suis. Comme je n’ai pas trouvé de bonne réponse ailleurs, je vais en coller une ici pour pouvoir la retrouver plus tard.
Si vous utilisez une authentification à 2 facteurs, alors spécifier un nom d'utilisateur / mot de passe ne fonctionnera pas - votre accès sera refusé. Mais vous pouvez utiliser un jeton d'accès à une application et utiliser l'assistant des informations d'identification de git pour le mettre en cache pour vous. Voici les liens pertinents:
Et je ne me souviens pas où j'ai vu cela, mais lorsqu'on vous demande votre nom d'utilisateur, c'est là que vous collez le jeton d'accès à l'application. Ensuite, laissez le mot de passe vide. Travaillé sur mon mac.
la source
utiliser SSH
Pour éviter que GitHub ne demande le mot de passe lorsque vous appuyez, utilisez idéalement SSH (
[email protected]:...
) au lieu de HTTPS URL (https://github.com/...
) et ajoutez votre clé SSH à votre compte GitHub . Voir: Quelle URL distante devrais-je utiliser?un assistant d'identification
Sinon, si vous devez vraiment utiliser HTTPS pour mettre en cache votre mot de passe GitHub dans Git , vous devez utiliser un assistant d'identification pour permettre à Git de se souvenir de votre nom d'utilisateur et de votre mot de passe GitHub chaque fois qu'il parle à GitHub.
git config --global credential.helper osxkeychain
(osxkeychain helper
est requis),git config --global credential.helper wincred
git config --global credential.helper cache
.netrc
Une autre méthode consiste à utiliser configurer votre utilisateur / mot de passe dans
~/.netrc
(_netrc
sous Windows), par exempleOAuth
Utilisez le jeton OAuth ( jeton API personnelle ) pour appliquer les modifications, par exemple:
Apparenté, relié, connexe:
la source
De plus, si vous utilisez Windows, vous pouvez utiliser:
il vous suffit de vous connecter une fois de plus, puis git s'en souviendra.
la source
Demander le nom d'utilisateur m'énerve, mais demander un mot de passe est agréable, car cela vous permet de rendre public vos modifications ...
Donc, je viens d'ajouter ceci à mon ".gitconfig"
la source
Utilisez Git Credential Manager pour Windows , si vous utilisez Windows.
Téléchargez simplement la dernière version et installez-la.
la source