web-dev-qa-db-fra.com

Pourquoi Github demande-t-il un nom d’utilisateur / mot de passe lorsque vous suivez les instructions à l’écran et que vous insérez un nouveau dépôt?

Je suis propriétaire d'une organisation sur github. Je viens de créer un dépôt et d'essayer de faire pression, mais je suis confronté à un problème qui me demande mon nom d'utilisateur même si je peux très bien SSH:

$ ssh -T [email protected]
Hi Celc! You've successfully authenticated, but GitHub does not provide Shell access.
$ git add .
$ git commit -m 'first commit'
[master (root-commit) 3f1b963] first commit
 6 files changed, 59 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 main.js
 create mode 100644 package.json
 create mode 100644 readme.markdown
 create mode 100644 views/index.ejs
 create mode 100644 views/layout.ejs
$ git remote add Origin https://github.com/WEMP/project-slideshow.git
$ git Push -u Origin master
Username for 'https://github.com':

Qu'est-ce que je fais mal? Cela ne m’est jamais arrivé auparavant, mais j’ai récemment mis à jour git 1.7.10.3.

260
Kit Sunde

Ne pas utiliser HTTP, utilisez plutôt SSH

changement

https://github.com/WEMP/project-slideshow.git 

à

[email protected]:WEMP/project-slideshow.git

vous pouvez le faire dans le fichier .git/config

599
Hugo

J'avais le même problème et je me demandais pourquoi cela ne s'était pas produit avec un référentiel de bitbucket cloné avec https. En y regardant un peu, j'ai trouvé que la config du référentiel BB avait une URL contenant mon nom d'utilisateur. J'ai donc édité manuellement la configuration de mon dépôt GH comme suit et le tour est joué, il n'y a plus d'identifiant Prompt. Je suis sous Windows.

Éditez your_repo_dir/.git/config (rappelez-vous: le dossier .git est caché)

Changement:

https://github.com/WEMP/project-slideshow.git

à:

https://*username*@github.com/WEMP/project-slideshow.git

Enregistrez le fichier. Faites un git pull pour le tester.

Pour ce faire, la meilleure méthode consiste probablement à utiliser les commandes git bash pour modifier le paramètre, mais la modification directe du fichier ne semble pas poser de problème.

49
Sean

Voici un réponse officielle à ceci:

Si Git vous invite à entrer un nom d'utilisateur et un mot de passe chaque fois que vous essayez d'interagir avec GitHub, vous utilisez probablement l'URL de clone HTTPS de votre référentiel.

L'utilisation de ne URL distante HTTPS présente certains avantages: elle est plus simple à configurer que SSH et fonctionne généralement avec des pare-feu et des serveurs proxy strictes. Cependant, il vous invite également à saisir vos informations d'identification GitHub chaque fois que vous extrayez ou poussez un référentiel.

Vous pouvez configurer Git pour stocker votre mot de passe pour vous. Si vous souhaitez configurer cela, lisez tout sur configuration de la mise en cache du mot de passe .

19
Catalin Hritcu

Améliorer sur @ Ianl réponse ,

Si vous souhaitez désactiver les invites pour le nom d'utilisateur et le mot de passe, vous pouvez définir l'URL comme suit:

git remote set-url Origin https://username:[email protected]/WEMP/project-slideshow.git

Notez que l'URL contient à la fois le nom d'utilisateur et le mot de passe. De plus, le fichier .git/config devrait afficher vos paramètres actuels.

11
kaushal

une note supplémentaire:

si vous avez déjà ajouté une télécommande ($ git remote add Origin ...) et que vous devez la modifier, effectuez d'abord une suppression à distance ($ git remote rm Origin), avant de rajouter la nouvelle URL améliorée et le référentiel amélioré (où "Origine" était le nom du repo distant).

donc pour utiliser l'exemple original:

$ git remote add Origin https://github.com/WEMP/project-slideshow.git
$ git remote rm Origin
$ git remote add Origin https://[email protected]/WEMP/project-slideshow.git
10
IanI

Je viens de recevoir un courrier électronique d'un administrateur de github.com indiquant: "Nous conseillons généralement aux personnes d'utiliser l'URL HTTPS sauf si elles ont une raison particulière d'utiliser le protocole SSH. HTTPS est sécurisé et plus facile à configurer. nous le faisons par défaut lorsqu'un nouveau référentiel est créé. "

Le mot de passe invite accepte effectivement les informations de connexion normales de github.com. Vous trouverez un tutoriel sur la configuration de la mise en cache des mots de passe à l’adresse suivante: https://help.github.com/articles/set-up-git#password-caching . J'ai suivi les étapes du tutoriel, et cela a fonctionné pour moi.

6
jochen

Si vous utilisez HTTPS, vérifiez que votre URL est correcte. Par exemple:

$ git clone https://github.com/wellle/targets.git
Cloning into 'targets'...
Username for 'https://github.com': ^C

$ git clone https://github.com/wellle/targets.vim.git
Cloning into 'targets.vim'...
remote: Counting objects: 2182, done.
remote: Total 2182 (delta 0), reused 0 (delta 0), pack-reused 2182
Receiving objects: 100% (2182/2182), 595.77 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1044/1044), done.
5
a paid nerd

Si vous avez activé l'authentification à deux facteurs, vous devez générer un jeton d'accès personnel et l'utiliser à la place de votre mot de passe habituel. Plus d'infos ici: https://help.github.com/articles/creating-an-access-token-for-command-line-use/

4
Neil

Parce que vous utilisez HTTPS manière. HTTPS nécessite que vous tapez votre accès à votre compte chaque fois que vous essayez de pousser ou de tirer , mais il existe aussi un moyen appelé SSH, et ça vous permet de dire à git, que je vous donne la permission avec mon compte pour ce pc, et ne me demandez plus jamais d'accès utilisateur . Pour l'utiliser, vous devez générer la clé SSH et l'ajouter à votre compte Github une seule fois . Pour ce faire, vous pouvez suivre ces étapes

Comment générer une clé SSH pour Github

3
Hazarapet Tunanyan