I have a private repo on github. It's location was changed.
I tried changing the remote but I wasn't able to push anymore.
ls-remote https://github.com/xxxxx/xxxxx.git
gave me this
remote: Repository not found.
fatal: repository 'https://github.com/xxxxx/xxxxx.git/' not found
- I checked the spelling and it was correct.
- I was able to open the url in the browser
- I have sufficient rights on the repo.
- I could clone every other repo by https
- I removed origin with
git remove origin https://github.com/xxxx/xxxxx.git - re-added it with
git add origin https://github.com/xxxxx/xxxxx.git - I did a
git remote set-url origin https://github.com/xxxxx/xxxxx.git
I upgraded git from 1.9.5 to 2.2.1 to see if it would help
After the upgrade I did a new ls-remote on the repository and it asked to accept a new certificate. I did.
This didn't remove the problem
Doing a ls-remote on the SSH URL url though works perfectly So I fixed the problem by adding the SSH URL as remote origin
Why the https:// url is Not found keeps me puzzled. Anyone has any idea?
I think that as it is a private repo, it appears as non-existent for anonymous access. If you use https url, it sends anonymous request, while ssh url uses your ssh credentials and private key to establish connection.
Not sure how to make it work properly with github, but try specifying a username in the url such as
ls-remote https://youusername@github.com/xxxxx/xxxxx.git
.Here some clues, I believe: Is there a way to skip password typing when using https:// on GitHub?