web-dev-qa-db-fra.com

Cloner un repo Github privé

J'ai un dépôt privé sur Github pour un projet sur lequel je travaille. Jusqu'à présent, je n'avais travaillé que sur mon bureau à la maison, mais je venais d'acheter un ordinateur portable et j'essayais de le configurer de sorte que je puisse travailler sur le projet à partir de l'un ou l'autre des ordinateurs et des modifications Push/Pull. 

J'ai ajouté une nouvelle clé SSH à mon compte Github pour l'ordinateur portable et j'ai réussi à cloner et à modifier un référentiel test public que j'ai configuré. Cependant, je ne pouvais pas cloner le repo privé. Dois-je faire quelque chose de spécial dans la ligne de commande pour cloner un repo privé? Dois-je créer un nouveau compte GitHub pour mon ordinateur portable et me définir comme collaborateur?

La commande que j'ai utilisée était git clone git://github.com/myusername/reponame.git

155
Solomon

Les URL de clonage privé se présentent sous la forme [email protected]:username/repo.git. Peut-être deviez-vous utiliser git@ plutôt que git://?

git:// Les URL sont en lecture seule et il semble que les dépôts privés n'autorisent pas cette forme d'accès.

137
mac

Cela a fonctionné pour moi:

git clone https://[email protected]/username/repo_name

Ceci, bien sûr, était après ajout de ma clé SSH à Github . Je l'ai utilisé sur un serveur CentOs, si cela est nécessaire. 

107
charlchad

Cela a fonctionné pour moi:

git clone https://username:[email protected]/username/repo_name.git
32
izik f

En utilisant Git pour Windows, il est plus facile d'utiliser l'URL HTTPS.

Ouvrez un shell git puis git clone https://github.com/user/repo. Entrez le nom d'utilisateur et le mot de passe lorsque vous y êtes invité. Pas besoin de configurer une clé SSH.

17
Gustavo Coelho

Pour l'amour de Dieu, j'ai rencontré ce problème plusieurs fois et chaque fois que j'ai atterri sur cette page, j'ai tout essayé et j'ai échoué!

C'est parce que j'ai 2FA activé !!!

Selon https://help.github.com/articles/which-remote-url-should-i-use/#when-2fa-is-enabled

Si vous avez activé l'authentification à deux facteurs , ou si vous accédez à une organisation qui utilise l'authentification unique SAML , vous devez fournir un jeton d'accès personnel au lieu de saisir votre mot de passe pour HTTPS. Git.

  1. Suivez ce lien et créez un jeton d'accès
  2. git clone https://github.com/username/repo_name.git (Le lien par défaut du dépôt git est suffisant!)
  3. Entrez votre nom d'utilisateur et utilisez le jeton d'accès comme mot de passe !!

Mettre à jour:

Si vous ne craignez pas d'exposer votre jeton d'accès dans la ligne de commande, vous pouvez également coller le jeton d'accès en tant que nom d'utilisateur, puis appuyer sur Entrée, entrée (aucun mot de passe).

17
lzl124631x

En réponse à la réponse de mac, vous pouvez obtenir votre URL de clone SSH sur votre page de dépôt github en cliquant sur SSH sur You can clone with HTTPS, SSH, or Subversion. et copiez l'URL.

5
MK Yung

Commencez par vous assurer que vous avez une clé SSH ou en générez une à l'adresse: https://help.github.com/articles/generating-ssh-keys/

Une fois que vous avez votre clé, vous devez l’ajouter à votre compte github à l’adresse suivante: https://github.com/settings/ssh

Pour les utilisateurs Windows, il est utile d’exécuter git bash en tant qu’administrateur.

Maintenant, le clonage devrait fonctionner pour les référentiels privés (repo), sans avoir à saisir votre nom d'utilisateur et votre mot de passe.

3
gcamargo

Outre la réponse de MK Yung: assurez-vous que vous ajoutez la clé publique pour le lieu où vous déployez les clés de déploiement pour le référentiel, si vous ne souhaitez pas recevoir une réponse 403 Forbidden.

3
pgcd

Pour moi la solution était:

git clone https://[email protected]

Ici, une chose qui diffère de la réponse @charlchad est que 

git clone https://[email protected]/username/repo_name

Ici, vous devez être le propriétaire du repo, mais si vous ne l’êtes pas, il ira comme

git clone https://[email protected]/ownersusername/repo_name.git
3
Black Mamba

Cela a fonctionné pour moi sur mac git clone https://[email protected]:username/repo_name

2
Usman Hussain

Si l'ordinateur nouvellement utilisé a des informations d'identification différentes exécutant cette commande 

git clone https://github.com/username/reponame.git

directement ne fonctionnera pas. Git tentera d'utiliser les informations d'identification stockées et ne vous demandera pas le nom d'utilisateur ni le mot de passe. Puisque les informations d'identification ne correspondent pas, git affichera Repository not found et l'opération de clonage échouera. J'ai résolu le problème en supprimant les anciennes informations d'identification, car je ne les utilise plus, j'ai relancé la commande mentionnée ci-dessus, entré le nom d'utilisateur et le mot de passe requis et cloné le référentiel privé. 

1
Amjad

Mon compte d'entreprise (privé) et l'authentification à 2 facteurs sont activés. J'ai donc dû combiner quelques publications pour que cela fonctionne comme ci-dessous. (Noter pour que cela puisse être utile à quelqu'un avec la même situation)

Initially it was the Fatal Error. 
fatal: repository 'https:
...
remote: Repository not found.
fatal: repository 'https:

Installé le gestionnaire des identifiants et mis à jour GIT comme indiqué ici: https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-encountered/

Cela n'a pas résolu le problème car le problème a été déplacé vers le bas lorsque j'ai essayé d'utiliser la commande clone comme suit:

$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git

remote: Invalid username or password.
fatal: Authentication failed for 'https://

Mon mot de passe contenait le symbole $ et, pour une raison quelconque, la ligne de commande GIT/GIT Bash ne l'aimait pas. Je peux voir que le texte renvoyé par l'erreur ne contenait pas le symbole $. 

fatal: Authentication failed for 'https://<username>:<password-missing-$-symbol>@github.com/<ORG_NAME>/<PROJECT-NAME>.git'

Je devais faire référence à ce site: https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage

Remarque: si un mot de passe incorrect est enregistré pour votre compte dans Windows Credential Manager il va également ajouter au problème. JE Supprimez les informations d'identification github stockées de cette manière avant de passer à l'étape ci-dessous.

$ git config --global credential.helper cache
$ git clone https://<username>:<password>@github.com/<ORG_NAME>/<PROJECT-NAME>.git

Maintenant, le gestionnaire d'informations d'identification Windows est apparu. J'ai tapé mon nom d'utilisateur et mon mot de passe dans les zones de texte (Ceci acceptait mon mot de passe qui avait le symbole $) et m'a demandé un code d'authentification à 2 facteurs. J'ai saisi le code d'authentification de Google Authenticator, et le clone a parfaitement démarré.

1
oneworld

Ajoutez votre clé publique ssh de bureau dans github.

https://github.com/settings/keys

Vous pouvez cloner le référentiel sans mot de passe.

0
Kishore Relangi

J'avais besoin d'une méthode non interactive pour cloner un référentiel privé.

Inspiré par ce numéro: https://github.com/github/hub/issues/1644

Étape 1.

Créez un jeton d'accès personnel dans les paramètres du développeur github: https://github.com/settings/tokens

Étape 2.

git clone https://$token:[email protected]/$username/$repo.git
0
cnash