I turned out to be a scope issue. I of course needed full repo
scope since I was trying to clone a private
repository.
It's a shame Github does not have some clearer error messages for these kind of things, but security wise I understand why.
For anyone trying to figure out what is wrong when trying out something like this, I would suggest to create a personal access token with full access to everything:
settings > developer settings > personal access tokens > generate new token
This way you can easily test if it is a scope issue by comparing your token with a personal access token that has access rights for everything.
Thanks for anyone who still took the time to read this.
Just use the HTTPS address to clone with the key as the user, so:
git clone https://[email protected]/username/repo.git
Just clone the repository with HTTP like so:
git clone https://github.com/myuser/myrepo.git
When prompted for Username, fill your username.
When prompted for Password, fill the token instead.
Do whatever works for you from these two choices
In your terminal
$ git clone your_repo_url
Username:your_token
Password:
... there is no password
In your git client app
i.e. Sourcetree, GitKraken, and the GitHub client.
Enter your repo_url (obvsiously without the '$ git clone part')
Username:your_token
Password:
... there is no password
OR i.e. in Sourcetree, open preferences and then go to advanced, enter the hostname (i.e. www.x.com) and userName (i.e. your_token)
👍
go to https://github.com/settings/tokens and generate a new token, remember to enable access to the repo, after that, you can do the following to clone the repo.
git clone https://<token>@github.com/owner/repo.git
Note: owner is your username if it's your repository else keep username of repository owner(one with all the rights of repo).
Please try this.
git clone `https://oauth2:[email protected]/username/repo.git`
For example, git clone https://oauth2:[email protected]/gituser/testrepo.git
In .net core you can do in this way when dealing with Azure DevOps Repo:
public void CloneRepository()
{
var _gitURL = "URLofGitRemoteRepository";
var _userName = "PersonalAccessToken";
var _pswd = ""; //Keep it blank
var co = new CloneOptions();
co.CredentialsProvider = (_url, _user, _cred) => new UsernamePasswordCredentials { Username = _userName, Password = _pswd };
Repository.Clone(_gitURL, filePath, co);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With