How do I get git to default to ssh and not https for new repositories
These days when I create a new repository on GitHub on the setup page I get:
git remote add origin https://github.com/nikhilbhardwaj/abc.git
git push -u origin master
And whenever I have to push a commit I need to enter my GitHub username and password.
I can manually change that to
git@github.com:nikhilbhardwaj/abc.git
in the .git/config
. I find this quite irritating - is there some way I can configure git to use SSH by default?
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 (ie 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/
链接地址: http://www.djcxy.com/p/45224.html