There are a few common errors with using HTTPS with git. These errors usually indicate you have an old version of git, or you don't have access to the repository.

Here's an example of an HTTPS error you might receive:

# error: The requested URL returned error: 401 while accessing
# https://github.com/user/repo.git/info/refs?service=git-receive-pack
# fatal: HTTP request failed
# Error: The requested URL returned error: 403 while accessing
# https://github.com/user/repo.git/info/refs
# fatal: HTTP request failed
# Error: https://github.com/user/repo.git/info/refs not found: did you run git
# update-server-info on the server?

Check your Git version

There's no minimum Git version necessary to interact with GitHub, but we've found version 1.7.10 to be a comfortable stable version that's available on many platforms. You can always download the latest version on the Git website.

Ensure the remote is correct

The repository you're trying to fetch must exist on GitHub, and the URL is case-sensitive.

You can find the URL of the local repository by opening the command line and typing git remote -v:

git remote -v
# View existing remotes
# origin  https://github.com/github/reactivecocoa.git (fetch)
# origin  https://github.com/github/reactivecocoa.git (push)

git remote set-url origin https://github.com/github/ReactiveCocoa.git
# Change the 'origin' remote's URL

git remote -v
# Verify new remote URL
# origin  https://github.com/github/ReactiveCocoa.git (fetch)
# origin  https://github.com/github/ReactiveCocoa.git (push)

Alternatively, you can change the URL through our Mac or Windows applications.

Provide access token if 2FA enabled

If you have enabled two-factor authentication, you must provide a personal access token instead of entering your password for HTTPS Git.

You can create a personal access token for accessing GitHub by going to the application settings page.

Checking your permissions

When prompted for a username and password, make sure you use an account that has access to the repository.

Tip: If you don't want to enter your username and password every time you interact with the remote repository, you can turn on password caching.

Using SSH instead

If you've previously set up SSH keys, you can use the SSH clone URL instead of HTTPS. For more information, see this guide.