不知道大家有没有过相同的感受(PS:不管你们是不是这样,我就是这样子 🤪🤪🤪),github 经常访问不了,只能搭梯子才稳定,用 gitee 来代替但是感觉生态又没有 github 活跃

这个时候,ssh就登场了,用 ssh 的方式只维护一套代码来同时提交 github 和 gitee;可能会有人之前没太关注过使用https和使用ssh的来 clone 代码的区别,此处引用下其他朋友的一段话

HTTPS 只需要复制链接,然后到 git Bash 输入 clone 命令即可将项目克隆到本地,但是每次 fetch 和 push 代码都需要输入账号和密码;而使用 SSH,默认每次通信无需输入账号密码,但需要在克隆之前先配置和添加好 SSH key,添加 SSH key 的前提是,你必须是这个项目的拥有者

生成 SSH 公钥

打开 Git bash 的终端,执行命令


# "~/" 代表根路径 C:\Users\Administrator,校验时会默认搜索此路径
# 这里的名字可以根据需要来定义,不一定要是邮箱,
# 可以多个git源使用同一个ssh key,也可以多次执行命令,生成多个key来分别配置使用
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

执行之后按照提示完成三次回车,即可生成 ssh key

可以通过查看根路径中.ssh 文件夹的.ssh/id_rsa.pub 文件内容,或者输入 cat ~/.ssh/id_rsa.pub;获取到你的 public key

配置 SSH 公钥

  1. 复制生成后的 ssh key,通过 github 和 gitee 中的 ssh 设置将生成的 public key 添加到账户中
  2. 可以通过在终端输入 ssh -T git@gitee.com来验证是否添加成功,这里的git@gitee.com根据可以根据 git 仓库的 ssh 地址域名来输入,首次使用需要确认并添加主机到本机 SSH 可信列表,就像下面这样
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入 yes,若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。

配置本地仓库

  1. 使用 ssh 的方式 clone 项目
 git clone git@github.com:仓库地址
  1. 添加 remote 地址
git remote set-url --add origin 另一个仓库的git ssh地址

# 如果添加地址有问题,可以使用如下命令删除
git remote set-url --delete origin git仓库地址

通过 git remote -v 查看是否添加成功,如果有刚添加的地址也就证明添加成功。

如果第一次推送不上去,则使用 git push origin master -f 强推

到这就ok了,git跟gitee从此随心换😏😏

参考链接


稀饭52
20 声望4 粉丝

愿将来的你不会讨厌现在的自己