欢迎光临
我们一直在努力

【已解决】SourceTree拉取Github的私有仓库(SSH方式)

1、在SourceTree添加账户

在这里插入图片描述
选GitHub,用OAuth登录
在这里插入图片描述

2、登录成功后

点击这个按钮,复制SourceTree的公钥,后面需要将其放到你的GitHub的账号中
在这里插入图片描述

3、登录GitHub账号

点击头像,进入Setting
在这里插入图片描述

4、GitHub添公钥

选择 SSH and GPG keys
在这里插入图片描述

5、创建新的SSH Key

在这里插入图片描述

6、在这里粘贴第二步SourceTree帮咱们创建的公钥

在这里插入图片描述

7、执行 cat ~/.ssh/config

返回:

# — Sourcetree Generated —
Host XiaoMing-GitHub
HostName github.com
User XiaoMing
PreferredAuthentications publickey
IdentityFile /Users/****/.ssh/XiaoMing-GitHub
UseKeychain yes
AddKeysToAgent yes
# —————————-

8、拉取GitHub私有仓库

8.1、将目标私有仓库选中“SSH”复制链接

在这里插入图片描述

8.2、回到SourceTree,点击新建

在这里插入图片描述

8.3、替换链接

GitHub复制下来的地址是

git@github.com:XiaoMing/test.git

这里我们要改成

git@XiaoMing-GitHub:XiaoMing/test.git</code>

在这里插入图片描述
现在可以拉取私有仓库了

9、原因解析

正常 SSH:

git@github.com:xxx

会匹配:

Host github.com

但 SourceTree 用的是:

Host XiaoMing-GitHub

所以:

git@XiaoMing-GitHub:xxx

才能触发:

IdentityFile /Users/****/.ssh/XiaoMing-GitHub

本质就是:

SSH Host Alias= SSH 配置别名

个人理解是可能因为SourceTree是一个

  • 多 GitHub 账号
  • 多 SSH key
  • 多平台(GitHub/GitLab/Bitbucket)
  • 多仓库身份隔离

管理工具吧

赞(0)
未经允许不得转载:171主机测评 » 【已解决】SourceTree拉取Github的私有仓库(SSH方式)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址