美文网首页
[Sourcetree] 使用Sourcetree通过SSH管理

[Sourcetree] 使用Sourcetree通过SSH管理

作者: 流火绯瞳 | 来源:发表于2018-09-03 11:18 被阅读318次

之前使用Sourcetree都是通过HTTP/HTTPS的方式来管理项目,大多都是托管到GitHub码云等平台,最近在使用公司搭建的Git服务器时,总是遇到权限的问题而不能pull/push代码,不知道是不是因为使用的HTTP的原因,最后考虑使用SSH的方式来管理项目代码。

使用SSH,就需要在本机生成公私钥,然后配置到相关的管理平台,这里GitLib 和 GitHub 来进行说明。

生成SSH公私钥

打开电脑终端,输入以下SSH指令:

ssh-keygen -t rsa -C "gitSSH"
  • -t 指定密钥类型,默认是 rsa ,可以省略。
  • -C 设置注释文字,比如邮箱。
  • -f 指定密钥文件存储文件名

如果不使用 -f 来指定文件名称,会输出如下来要求输入文件名称:

# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

也可以不输入,直接回车,就会生成默认文件名 id_rsa(私钥) 和 id_rsa.pub(公钥) 两个秘钥文件,推荐使用默认名称。

打开公钥:

cat ~/.ssh/id_rsa.pub

复制输出的字符串即可!

或者直接到.ssh文件夹找到id_rsa.pub(公钥)文件,使用文本打开:
打开Finder -> 前往 -> 个人
在此文件夹下会生成一个.ssh 文件夹,里面包含有生成的公私钥文件。
可以看到该文件夹默认是隐藏掉的,如果找不到,可以在终端使用以下指令,显示隐藏的文件夹:

defaults write com.apple.finder AppleShowAllFiles -bool true

PS:如果需要隐藏,将指令的最后的值改为false即可

配置公私钥

打开GitLib,点击导航最右侧的用户头像,在下拉列表中选择 Settings :

打开的用户设置中,左侧有SSH Keys选项:

SSH Keys

将公钥复制粘贴到 key内即可,title可自定义,也可使用粘贴后的默认名称,默认是在输入指令是 -C 指定的说明字符串。

如果是使用的Github,同样点击最右侧用户头像,在下拉列表中选择 Settings ,在打开的页面右侧选择 SSH and GPG keys

然后选择New SSH key 即可!

使用Sourcetree 管理SSH

可以通过打开的项目主页,右侧的设置选项,查看当前使用何种方式来管理的项目,即远程Git仓库地址:

可以看到现在使用的是HTTPS的远程地址。

切换为SSH:方式一

Sourcetree 支持HTTPS和SSH的相互转换,在标签页,选择需要切换的标签,右键,选择转换成 SSH

转换为SSH

此时,再去看远程仓库地址,就已经变为SSH的仓库地址了:


此时,再在标签页,右键,可以看到转换成 SSH 选项变成 转换成 HTTPS选项了,再次选择可以切换回HTTPS方式。

以上是使用Github的链接地址来进行的,但是在使用Gitlib地址的时候,转换就不成功,目前能够想到的原因是,我们的Gitlib使用的是HTTP的链接,而不是HTTPS,可能两者之间不能直接转换,而我们的本地仓库没有配置HTTPS,因此这个方法,暂时不能采用了。如果你们的Git仓库是HTTPS方式的,这样切换应该是没有问题的。那么,使用HTTP的就看方式二吧。

切换为SSH:方式二

打开本地的项目文件夹,在根目录下会有一个.git文件夹,这个文件夹默认也是隐藏的,怎么查看隐藏文件夹,看上面第一部分的指令。

打开文件夹,找到config文件,使用文本打开:
其中,有一项:[remote "origin"],将其中的url换成SSH地址即可:

然后,再打开Sourcetree,就可以使用SSH的方式来管理项目了。

相关文章

网友评论

      本文标题:[Sourcetree] 使用Sourcetree通过SSH管理

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