美文网首页
git remote URL之HTTPS与SSH的区别

git remote URL之HTTPS与SSH的区别

作者: TravisW | 来源:发表于2018-07-12 17:10 被阅读0次

区别

当remote URL为https格式时,每次git clone git fetch git pull git push都需要输入GitHub的用户名和密码,不过可以clone任何组织的仓库;
使用ssh时,则不需要验证用户名和密码,如果在配置ssh key时设置了密码,则需要验证密码。不过你不能下载使用SAML single sign-on的组织的仓库,只能用https。

将HTTPS修改为SSH

如果你钟爱ssh,那么可以将https改为ssh
进入一个仓库,运行如下命令,查看remote URL:

git remote -v

如上图则是使用了https格式,现在我们改为ssh格式
先删除https格式的origin

git remote rm origin

到github上复制这个仓库的ssh格式的remote URL



运行如下命令添加ssh格式的origin

git remote add origin git@github.com:TravisWongX/test.git

再用git remote -v查看


可以看到origin已经变成ssh格式了

下面我们对库做一些改动然后push



提示报错,是因为没有ssh key
运行如下命令,检查是否存在ssh key

 ls ~/.ssh/id_rsa.pub

运行如下命令可以删除已存在的key

rm -rf ~/.ssh/*

*代表当前目录下所有文件
或者只需删除.ssh文件夹下的id_rsa和id_rsa.pub文件,known_hosts依情况而定

rm -f ~/.ssh/id_rsa
rm -f ~/.ssh/id_rsa.pub

添加ssh key
打开github,点击右上角头像,Settings,SSH and GPG keys


点击蓝色小字"generating SSH keys"可跳转至SSH key教程
运行如下命令,并且连续按三次回车键生成ssh key
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

邮箱不需要与GitHub注册邮箱一致
运行如下命令查看key

cat ~/.ssh/id_rsa.pub

复制输出的内容,点击github上的New SSH key,粘贴并保存



运行如下命令,输入yes,出现Hi + 你的名字就是成功了

ssh -T git@github.com

到这里我们就可以愉快的使用git操作了。

Tips

  • 一台电脑只需要一个 SSH key
  • 一个 SSH key 可以访问你的所有仓库
  • 如果你新买了一台电脑,就新增一个 SSH key

相关文章

网友评论

      本文标题:git remote URL之HTTPS与SSH的区别

      本文链接:https://www.haomeiwen.com/subject/nhqrpftx.html