Ces jours-ci, lorsque je crée un nouveau référentiel sur GitHub sur la page de configuration, j'obtiens:
git remote add origin https://github.com/nikhilbhardwaj/abc.git
git push -u origin master
Et chaque fois que je dois pousser un commit, je dois entrer mon nom d'utilisateur et mon mot de passe GitHub.
Je peux le changer manuellement en
[email protected]:nikhilbhardwaj/abc.git
dans le .git/config
. Je trouve cela assez irritant - existe-t-il un moyen de configurer git pour utiliser SSH par défaut?
insteadOf
astuce existe depuis au moins 2012. Voir également Comment convertir desgit:
URL enhttp:
URL .Réponses:
Configurer la branche d'origine d'un référentiel pour qu'elle soit SSH
La page de configuration du référentiel GitHub n'est qu'une liste de commandes suggérées (et GitHub suggère désormais d'utiliser le protocole HTTPS). À moins que vous n'ayez un accès administratif au site de GitHub, je ne connais aucun moyen de modifier leurs commandes suggérées.
Si vous préférez utiliser le protocole SSH, ajoutez simplement une branche distante comme celle-ci (c'est-à-dire utilisez cette commande à la place de la commande suggérée par GitHub). Pour modifier une branche existante, consultez la section suivante.
Modifier un référentiel préexistant
Comme vous le savez déjà, pour changer un référentiel préexistant pour utiliser SSH au lieu de HTTPS, vous pouvez modifier l'URL distante dans votre
.git/config
fichier.Un raccourci consiste à utiliser la
set-url
commande:Plus d'informations sur le commutateur SSH-HTTPS
la source
set-url
aidez-moi! Merci beaucoup !GitHub
BitBucket
Cela indique à git de toujours utiliser SSH au lieu de HTTPS lors de la connexion à GitHub / BitBucket, donc vous vous authentifierez par certificat par défaut, au lieu d'être invité à entrer un mot de passe.
la source
url.<base>.insteadOf
.git config --global [email protected]:.insteadOf https://github.com/
fonctionne dans git 2.7.4 à coup sûr.)--global
et de le faire sur une base de repo.La réponse fournie par Trevor est correcte .
Mais voici ce que vous pouvez ajouter directement dans votre
.gitconfig
:la source
[url "ssh://[email protected]/"]
insteadOf = https://gitlab.com/
Il y en a aussipushInsteadOf
si vous voulez affecter l'URL de push mais pas le récupérer. Peut utilisergit remote -v
pour inspecter les URL efficaces que git va utiliser.Vous avez peut-être accidentellement cloné le référentiel dans https au lieu de ssh. J'ai fait cette erreur plusieurs fois sur github. Assurez-vous de copier le lien ssh en premier lieu lors du clonage, au lieu du lien https.
la source
Vous devez cloner dans ssh et non dans https.
Pour cela, vous devez définir vos clés ssh. J'ai préparé ce petit script qui automatise ceci:
et lancez-le comme
Changer votre URL distante
Ajoutez du contenu
~/.ssh/github.com_rsa.pub
à vos clés SSH sur github.comVérifier la connexion
la source
Fichier SSH
Modifier le changement de nom / .git / config
la source