Answers:
GitHub存储库设置页面只是建议的命令列表(而GitHub现在建议使用HTTPS协议)。除非您拥有对GitHub网站的管理访问权限,否则我不知道有任何方法可以更改其建议的命令。
如果您想使用SSH协议,只需添加一个远程分支(例如,使用此命令代替 GitHub的建议命令)即可。要修改现有分支,请参阅下一节。
$ git remote add origin git@github.com:nikhilbhardwaj/abc.git
如您所知,要将现有存储库切换为使用SSH而不是HTTPS,可以在.git/config
文件中更改远程URL 。
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
-url = https://github.com/nikhilbhardwaj/abc.git
+url = git@github.com:nikhilbhardwaj/abc.git
快捷方式是使用以下set-url
命令:
$ git remote set-url origin git@github.com:nikhilbhardwaj/abc.git
set-url
帮助我!非常感谢 !
的GitHub
git config --global url.ssh://git@github.com/.insteadOf https://github.com/
比特桶
git config --global url.ssh://git@bitbucket.org/.insteadOf https://bitbucket.org/
这告诉git在连接到GitHub / BitBucket时始终使用SSH而不是HTTPS,因此默认情况下,您将通过证书进行身份验证,而不是提示输入密码。
url.<base>.insteadOf
。
git config --global url.git@github.com:.insteadOf https://github.com/
肯定可以在git 2.7.4中进行编辑。)
--global
并按回购原则进行操作。
但是,您可以在这里直接添加以下内容.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/
[url "ssh://git@gitlab.com/"]
insteadOf = https://gitlab.com/
还有pushInsteadOf
,如果你想影响推网址,而不取。可以git remote -v
用来检查git将要使用的有效URL。
您可能不小心将存储库克隆到了https而不是ssh中。我在github上无数次犯了这个错误。确保克隆时首先复制ssh链接,而不是https链接。
您需要克隆ssh而不是https。
为此,您需要设置ssh密钥。我已经准备了可以自动执行此脚本的小脚本:
#!/usr/bin/env bash
email="$1"
hostname="$2"
hostalias="$hostname"
keypath="$HOME/.ssh/${hostname}_rsa"
ssh-keygen -t rsa -C $email -f $keypath
if [ $? -eq 0 ]; then
cat >> ~/.ssh/config <<EOF
Host $hostalias
Hostname $hostname *.$hostname
User git
IdentitiesOnly yes
IdentityFile $keypath
EOF
fi
然后像这样运行
bash script.sh myemail@example.com github.com
更改您的远程URL
git remote set-url origin git@github.com:user/foo.git
将内容添加~/.ssh/github.com_rsa.pub
到github.com上的ssh密钥中
检查连接
ssh -T git@github.com
SSH文件
~/.ssh/config file
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
LogLevel QUIET
ConnectTimeout=10
Host github.com
User git
AddKeystoAgent yes
UseKeychain yes
Identityfile ~/github_rsa
编辑reponame / .git / config
[remote "origin"]
url = git@github.com:username/repo.git
insteadOf
至少从2012年开始就存在这种技巧。另请参阅如何将git:
url 转换为http:
url。