Le clonage d'un privé dépôt Github
J'ai un repository privé sur Github pour un projet que je suis en train de travailler sur. Jusqu'à présent j'avais travaillé sur mon bureau, mais je viens d'acheter un ordinateur portable, et suis en train de le configurer de sorte que je peux travailler sur le projet à partir de l'ordinateur, et pousser /tirer changements.
J'ai ajouté une nouvelle clé SSH à mon compte Github pour le portable, et a réussi à cloner et à apporter des modifications à un public de test pensions de titres que j'ai mis en place. Cependant, je ne pouvais pas cloner le repo privé. Est-il rien de spécial, j'ai besoin de faire dans la ligne de commande afin de cloner un privé repo? Dois-je créer un nouveau compte GitHub pour mon portable et me suis fixé comme un collaborateur?
La commande que j'ai utilisé était git clone git://github.com/myusername/reponame.git
- Quelle commande avez-vous utiliser pour essayer de cloner le repo privé au niveau local? Quelles erreurs avez-vous?
Vous devez vous connecter pour publier un commentaire.
Privé clone Url prendre la forme
[email protected]:username/repo.git
- peut-être vous avez besoin d'utilisergit@
plutôt quegit://
?git://
Les url sont en lecture seule, et il ressemble privé repos ne permettent pas ce type d'accès.Cela a fonctionné pour moi:
git clone https://[email protected]/username/repo_name
C'était, bien sûr, après l'ajout de ma clé SSH pour Github. Je l'utilise sur un serveur CentOs, si c'est nécessaire.
Cela a fonctionné pour moi:
git clone https://[email protected]/username/repo_name.git
Pour l'amour de Dieu, j'ai rencontré ce problème à plusieurs reprises et à chaque fois j'ai atterri sur cette page, essayé de chaque chose et a échoué!
C'est parce que j'ai 2FA permis!!!
Selon https://help.github.com/articles/which-remote-url-should-i-use/#when-2fa-is-enabled
git clone https://github.com/username/repo_name.git
(La valeur par défaut repo git lien est assez bon!)Mise à jour:
Utilisation
git config credential.helper store
(ne pas le faire sur la machine, vous n'avez pas confiance)À l'aide de Git pour Windows, il est plus facile d'utiliser l'url HTTPS.
Ouvrir un git shell puis
git clone https://github.com/user/repo
. Entrer le nom d'utilisateur et le mot de passe lorsque vous y êtes invité. Pas besoin de configurer une clé SSH.Pour moi la solution a été:
Ici, vous devez être le propriétaire de l'opération, mais si vous n'êtes pas alors qu'il va aller comme
Si vous avez
2FA enabled
alors:git clone https://[email protected]
Lorsque vous y êtes invité pour un mot de passe mettre le jeton ici.
J'ai une entreprise (privée) de compte et 2-Facteur activé l'Authentification, j'ai donc dû combiner quelques postes pour le faire fonctionner comme ci-dessous. (Griffonner de sorte qu'il peut être utile à quelqu'un avec la même situation)
Installé le gestionnaire d'informations d'identification et de mise à jour GIT comme indiqué ici: https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-encountered/
Cela ne résout pas le problème que le problème déplacé vers le bas quand j'ai essayé d'utiliser la commande clone comme suit:
Mon mot de passe avait symbole $ dans il et pour quelque raison que GIT en ligne de commande /GIT Bash ne l'aiment pas. Je peux voir cela sur l'erreur renvoyée texte n'ont pas le symbole $ en elle.
J'ai eu à faire référence à ce site: https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage
Maintenant le gestionnaire d'informations d'Identification Windows remonté. J'ai tapé mon nom d'utilisateur et mot de passe dans les zones de texte (Ce accepté mon mot de passe qui a eu le symbole$) et m'a incité pour une Authentification à 2 facteurs code. J'ai tapé le code d'authentification de Google Authenticator, et le clone a commencé à la perfection.
$
est un caractère réservé dans Unix. Il marque le début de la récupération de la valeur d'une variable de même nom égal à la chaîne qui suit le$
symbole.En réponse à la mac de réponse, vous pouvez obtenir votre SSH clone URL de votre dépôt github de la page, en cliquant sur
SSH
surYou can clone with HTTPS, SSH, or Subversion.
et de copier l'URL.En plus de MK Yung réponse: assurez-vous d'ajouter la clé publique de l'endroit où vous êtes le déploiement de déploiement de clés pour les pensions de titres, si vous ne voulez pas recevoir un 403 Forbidden réponse.
D'abord assurez-vous que vous avez une clé SSH ou en générer un à:
https://help.github.com/articles/generating-ssh-keys/
Une fois que vous avez votre clé, vous devez l'ajouter à votre compte github à:
https://github.com/settings/ssh
Pour les utilisateurs de Windows, il est utile pour exécuter git bash en tant qu'administrateur.
Maintenant le clonage devrait fonctionner pour les dépôts privés (repo), sans avoir à mettre votre nom d'utilisateur et mot de passe.
Cela a fonctionné pour moi sur mac
git clone https://[email protected]:username/repo_name
J'avais besoin d'une non-méthode interactive pour le clonage privé des pensions.
Inspiré par cette question: https://github.com/github/hub/issues/1644
L'étape 1.
Créer un jeton d'accès dans le github paramètres de développeur:
https://github.com/settings/tokens
L'étape 2.
Lors du clonage de privé repos avec 2FA permettre, il y a une simple étapes que vous devez suivre
Si le nouveau ordinateur dispose d'informations d'identification différentes l'exécution de cette commande
directement ne fonctionnera pas. Git va tenter d'utiliser les informations d'identification stockées et ne va pas vous demander le nom d'utilisateur et le mot de passe. Puisque les informations d'identification de discordance, git va sortie
Repository not found
et le clone de l'opération échoue. La façon dont j'ai résolu il était en supprimant les informations d'identification, puisque je ne les utilisez plus, et a couru le mentionnés ci-dessus à nouveau la commande et entra dans le requis nom d'utilisateur et le mot de passe et cloné le privé des pensions.Ajouter votre bureau à clé publique ssh sur github.
https://github.com/settings/keys
Vous pouvez cloner le repo sans mot de passe.
Si vous êtes sûr que vous n'avez pas 2FA activé, vous avez la permission d'accéder à des mises en pension et les pensions existe, il est possible que votre [email protected] est connecté avec un autre compte.
pour vérifier que vous pouvez faire
Si elle montre un autre compte, pour résoudre ce problème:
unknown option -T
. Ma version git est2.7.4
ssh -T [email protected]
Si vous voulez atteindre dans
Dockerfile
, ci-dessous les lignes d'aide.Alors nous pouvons construire avec ci-dessous argument.