这些天,当我在GitHub上创建一个新的存储库时,我会得到:
git remote add origin https://github.com/nikhilbhardwaj/abc.git
git push -u origin master
每当我必须推送提交时,我需要输入我的GitHub用户名和密码。
我可以手动把它改成
git@github.com:nikhilbhardwaj/abc.git
在.git/config
中。我觉得这很令人恼火-有没有什么方法可以将git配置为默认使用SSH?
9条答案
按热度按时间68bkxrlz1#
将仓库的源分支设置为SSH
GitHub仓库设置页面只是一个建议的命令列表(GitHub现在建议使用HTTPS协议)。除非你有GitHub网站的管理权限,否则我不知道有什么方法可以更改他们建议的命令。
如果你更愿意使用SSH协议,只需像这样添加一个远程分支(即使用此命令 * 代替GitHub建议的命令 *)。要修改现有分支,请参阅下一节。
修改已有仓库
正如您已经知道的,要将预先存在的存储库切换为使用SSH而不是HTTPS,您可以更改
.git/config
文件中的远程url。一个快捷方式是使用
set-url
命令:SSH-HTTPS交换机更多信息
vltsax252#
这告诉git在连接到GitHub/BitBucket时总是使用SSH而不是HTTPS,因此默认情况下您将通过证书进行身份验证,而不是提示输入密码。
e4eetjau3#
特雷弗提供的回答是正确的。
但以下是您可以直接添加到
.gitconfig
中的内容:pokxtpni4#
你需要在ssh中克隆,而不是在https中。
将
~/.ssh/id_rsa.pub
的内容添加到github.com上的ssh密钥中。如果您需要为不同的主机提供单独的密钥,则可以使用以下脚本:
然后像
更改远程url
(or只需编辑
.git/config
)在www.example.com上将
~/.ssh/github.com_rsa.pub
的内容添加到您的ssh密钥github.com检查连接
rjjhvcjd5#
SSH文件
编辑reponame/.git/config
3zwtqj6y6#
你可能不小心用https而不是ssh克隆了仓库。我在github上犯过很多次这个错误。请确保在克隆时首先复制ssh链接,而不是https链接。
4bbkushb7#
FYI -我使用这个是因为github不再允许ssh:
ghhkc1vu8#
虽然这里的其他答案直接回答了关于自动将基于
https
的远程设备转换为git+ssh
远程设备的问题(以一种我不知道可能的方式!直到git
的新东西!),但从一开始就“正确”做到这一点的“正常”方法是不给予git
提供https
URL。GitHub(沿着其他流行的git托管服务)总是有一个小按钮,可以让您获得
git
应该克隆的URL。您只需要单击小“SSH”按钮:或者对于新项目
一旦你选择了“SSH”选项,GitHub(和其他人)会记住(只要你登录),并在未来将其设置为默认值。
lbsnaicq9#
如果你使用Gitlab
你可能会看到
只是取代国王,骑士,乡绅与自己的事情。骑士/乡绅只是我们的项目有不同的目录,然后你可以去
git pull,或随便什么,享受你的天才