How do I get git to default to ssh and not https for new repositories How do I get git to default to ssh and not https for new repositories git git

How do I get git to default to ssh and not https for new repositories


Set up a repository's origin branch to be SSH

The GitHub repository setup page is just a suggested list of commands (and GitHub now suggests using the HTTPS protocol). Unless you have administrative access to GitHub's site, I don't know of any way to change their suggested commands.

If you'd rather use the SSH protocol, simply add a remote branch like so (i.e. use this command in place of GitHub's suggested command). To modify an existing branch, see the next section.

$ git remote add origin git@github.com:nikhilbhardwaj/abc.git

Modify a pre-existing repository

As you already know, to switch a pre-existing repository to use SSH instead of HTTPS, you can change the remote url within your .git/config file.

[remote "origin"]    fetch = +refs/heads/*:refs/remotes/origin/*    -url = https://github.com/nikhilbhardwaj/abc.git    +url = git@github.com:nikhilbhardwaj/abc.git

A shortcut is to use the set-url command:

$ git remote set-url origin git@github.com:nikhilbhardwaj/abc.git

More information about the SSH-HTTPS switch


  • GitHub

    git config --global url.ssh://git@github.com/.insteadOf https://github.com/
  • BitBucket

    git config --global url.ssh://git@bitbucket.org/.insteadOf https://bitbucket.org/

That tells git to always use SSH instead of HTTPS when connecting to GitHub/BitBucket, so you'll authenticate by certificate by default, instead of being prompted for a password.


The response provided by Trevor is correct.

But here is what you can directly add in your .gitconfig:

# Enforce SSH[url "ssh://git@github.com/"]  insteadOf = https://github.com/[url "ssh://git@gitlab.com/"]  insteadOf = https://gitlab.com/[url "ssh://git@bitbucket.org/"]  insteadOf = https://bitbucket.org/