SourceTree和Git、公钥和密钥

SourceTree和Git,管理托管仓库代码——公钥和密钥

从Git命令行到SourceTree,可视化界面开发,简易的操作,节省了很多不必要的麻烦。

之前的项目,都是同事搭建的,就连SourceTree克隆项目也是如此。

今天,一个新的项目组。而我,承担了项目搭建和工具安装,项目的前期开发职责。

几经折腾,终于完成了。


安装SourceTree

官网或者各种网站都能下载,需要一个.Net框架来支撑,不同版本还不一样,这些在安装SourceTree的时候有提示,这一步直接跳过。

但是建议在安装SourceTree之前先安装一个Git管理工具,需要注意的是,Git安装的作用域建议保留默认的全局,这样SourceTree可以找到Git,否则SourceTree会提示需要另外安装一个私有Git。

当我们安装完SourceTree之后,会有一个提示,Atlassian账号登陆提示。这一步比较麻烦,能跳过尽量跳过,如果无法跳过,建议,这样会快很多,注册完成,直接登陆,这一步就完了。

之后的SourceTree初始化设置,完全可以跳过。

本例子以CSDN为例

代码托管仓库的建立

注册账号,登陆CSDN,在头部可以看到我的csdn,点进去。

右上角,有一个书写小logo,鼠标移上去,弹出下拉菜单中选择创建项目。

填写相关信息,如果是公司项目或者内部项目,项目类型请选择私有项目。

选择完项目类型,有一个添加.gitignore文件,这是一git忽略文件,文件内部可以填写需要忽略的文件或者文件夹。

点击创建,这样,我们的项目创建完成了。

SSH公钥管理

页面的右上角,有一个菜单logo,鼠标移动上去,可以在服务下面看到一个CODE选项,点进去。

右上角下方,有一个用户设置,打开。

左边默认打开的是SSH公钥管理,右边有一个按钮,添加公钥。

填写名称,公钥内容需要本地Git生成。

生成SSH公钥

打开Git Bash,执行命令:

$ cd ~/.ssh

将会打开.ssh文件夹,硬盘目录在C:\Users\Administrator.ssh (windows用户)
执行命令:

$ ssh-keygen -t rsa -C "[email protected]"

会提示你给这个ssh文件命名,一般来说,可以以项目名称命名,例如输入

examplekey

按下回车键。

提示输入密码,这一步可以直接回车,即密码为空。

下一步确认密码,直接回车键,这样ssh文件已经生成,在.ssh文件夹中可以看到两个文件:

examplekey和examplekey.pub

examplekey是私钥,examplekey.pub是公钥。

用记事本打开,复制examplekey.pub的内容粘贴到SSH公钥管理中我们创建的公钥保存,即可。

SourceTree添加SSH密钥

我们已经在创建了项目,同时在CSDN配置了公钥,现在需要把私钥添加到SourceTree中,这样就可以通过SourceTree来管理CSDN的项目。

打开SourceTree,左上角菜单栏,选择工具——选项。新打开的选项卡中间有一个SSH客户端配置。

先把PuTTY改为OpenSSH。

然后添加SSH密钥,选择C:\Users\Administrator.ssh下面我们新生成的examplekey文件,这样,密钥就添加完成了。

但是这里是单选的,如果我们有多个秘钥,可以在菜单栏——工具——添加秘钥中一一添加。

克隆项目

公钥和密钥都配置完成,我们就可以使用ssh克隆项目了。

直接打开我们的项目,复制项目的ssh地址,一般是[email protected]:user/example.git

在SourceTree中选择克隆/新建按钮,输入ssh地址,选择一个本地文件夹路径,就可以把项目克隆到我们的文件夹中。

这样通过SourceTree来管理项目的时候,我们是不需要账号和密码来登录的。

结尾

到此,我们使用SourceTree来管理托管仓库的代码的过程结束了。

希望能对你有所帮助。

后记

当我使用了两个Git仓库,github和csdn的时候,做了一件事:

创建两套密钥。

当时觉得好了不起,举一反三。

然而悲剧发生了。

我的SSH验证再也无法通过。

经过深沉的思考。

我发现,一套密钥就够了,只要把公钥分别在github和csdn上存好,我的SourceTree就能任意访问。。。

因为访问之后会产生一个known_hosts文件,这里会记录访问的信息,两个密钥的情况下,这个文件将会被修改导致无法通过,大约等于同时用两把钥匙开一把锁。。。

好吧,,,记录一下。

你可能感兴趣的:(教程)