从Git命令行到SourceTree,可视化界面开发,简易的操作,节省了很多不必要的麻烦。
之前的项目,都是同事搭建的,就连SourceTree克隆项目也是如此。
今天,一个新的项目组。而我,承担了项目搭建和工具安装,项目的前期开发职责。
几经折腾,终于完成了。
官网或者各种网站都能下载,需要一个.Net框架来支撑,不同版本还不一样,这些在安装SourceTree的时候有提示,这一步直接跳过。
但是建议在安装SourceTree之前先安装一个Git管理工具,需要注意的是,Git安装的作用域建议保留默认的全局,这样SourceTree可以找到Git,否则SourceTree会提示需要另外安装一个私有Git。
当我们安装完SourceTree之后,会有一个提示,Atlassian账号登陆提示。这一步比较麻烦,能跳过尽量跳过,如果无法跳过,建议,这样会快很多,注册完成,直接登陆,这一步就完了。
之后的SourceTree初始化设置,完全可以跳过。
本例子以CSDN为例
注册账号,登陆CSDN,在头部可以看到我的csdn,点进去。
右上角,有一个书写小logo,鼠标移上去,弹出下拉菜单中选择创建项目。
填写相关信息,如果是公司项目或者内部项目,项目类型请选择私有项目。
选择完项目类型,有一个添加.gitignore文件,这是一git忽略文件,文件内部可以填写需要忽略的文件或者文件夹。
点击创建,这样,我们的项目创建完成了。
页面的右上角,有一个菜单logo,鼠标移动上去,可以在服务下面看到一个CODE选项,点进去。
右上角下方,有一个用户设置,打开。
左边默认打开的是SSH公钥管理,右边有一个按钮,添加公钥。
填写名称,公钥内容需要本地Git生成。
打开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公钥管理中我们创建的公钥保存,即可。
我们已经在创建了项目,同时在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文件,这里会记录访问的信息,两个密钥的情况下,这个文件将会被修改导致无法通过,大约等于同时用两把钥匙开一把锁。。。
好吧,,,记录一下。