Clone A Private Repository (Github)
I have a private repository on Github for a project I'm working on. Until now I had only worked on my home desktop, but I just bought a laptop, and am trying to set it up so that I can work on the project from either computer, and push / pull changes.
I added a new SSH key to my Github account for the laptop, and was successful in cloning and making changes to a public test repo that I set up. However, I couldn't clone the private repo. Is there anything special I need to do in the command line in order to clone a private repo? Do I need to set up a new GitHub account for my laptop and set myself up as a collaborator?
The command I used was git clone git://github.com/username/reponame.git
This worked for me:
git clone https://[email protected]/username/repo_name
Private clone URLs take the form [email protected]:username/repo.git
- perhaps you needed to use git@
rather than git://
?
git://
URLs are read only, and it looks like private repos do not allow this form of access.
I have met this issue several times and every time I landed on this page, tried every thing and failed!
It's because I have 2FA enabled!!!
According to https://help.github.com/articles/which-remote-url-should-i-use/#when-2fa-is-enabled
If you have enabled two-factor authentication, or if you are accessing an organization that uses SAML single sign-on, you must provide a personal access token instead of entering your password for HTTPS Git.
- Follow this link and create an access token
-
git clone https://github.com/username/repo_name.git
(The default git repo link is good enough!) - Enter your username and use the access token as password!!
Update:
- If you don't mind exposing your access token in the command line, you can also paste the access token as username then hit enter enter (no need for password).
- Hate copy&pasting the access token over and over again?
Usegit config credential.helper store
(don't do this on machine you don't trust)
This worked for me:
git clone https://username:[email protected]/username/repo_name.git