一、简介
1、TortoiseGit
与git
的关系
TortoiseGit
是基于git
的可视化UI
代码管理工具,其作用是相当于给git
加了一个壳,这意味着TortoiseGit
的使用首先必须要安装git
才可以。在使用TortoiseGit
时,其本质是将鼠标点击操作转换成对应的git
命令行,然后调用git
来进行对应的操作。GitBash
是git
对应的命令行窗口,它主要是通过命令的形式来对代码进行管理。TortoiseGit
是通过窗口交互界面来对代码进行管理,直观清晰,方便;GitBash
则是通过命令行的形式来进行管理代码,功能强大,操作便捷。
2、TortoiseGit
与gitBash
配置的关键区别
GitBash
在安装完之后将其生成的公匙添加到服务器端,其公匙id_rsa.pub通过与密匙id_rsa进行配对来对代码操作进行认证。TortoiseGit
由于使用扩展名为.ppk的密匙来与公匙进行配对,而不是直接使用由ssh-keygen -t rsa -C "your_email@example.com"命令生成的rsa密钥:id_rsa来配对。因此需要将生成的rsa密匙id_rsa转换成后缀名为.ppk
的密匙id_rsa.ppk之后,才能与公匙id_rsa.pub进行配对认证。(在此需要安装PuTTYgen软件来将id_rsa
类型的密匙转换成id_rsa.ppk
类型的密匙)。
二、TortoiseGit
的安装配置流程
1、首先安装git
- 在 git官网 下载对应的
git
版本进行安装,流程按照默认设置一路进行。 - 将
git
对应的bin文件路径添加到系统环境变量中。
2、配置GitBash
- 在安装完
git
之后,打开GitBash
程序进行配置。首先需要通过命令行:ssh-keygen -t rsa -C "your_email@example.com"
来创建密匙和公匙所对应的SSH Key
。此时将会在用户的.ssh
目录下生成密匙和公匙对,即id_rsa和id_rsa.pub。 - 将对应的公匙id_rsa.pub添加到服务器的
SSH XXXXXXX keys
中(不同服务器略有不同,但一般都是以SSH
开头的)。 - 此时就可以直接在
GitBash
中通过命令行来将本地代码和服务器中的代码进行pull
,clone
,git commit
等管理同步操作了。 - 用户
.ssh
目录下此时有如下三个文件:
3、安装TortoiseGit
- 在TortoiseGit官网下载对应的版本进行安装,一路按照默认设置进行即可。
- 其中Choose SSH Client安装界面,选择
TortoiseGitPlink
(位于TortoiseGit安装目录/bin 下)
4、配置TortoiseGit
-
按默认设置安装完
TortoiseGit
之后,就需要对其进行配置。首先在PuTTYgen官网下载对应的版本进行安装。 -
打开
PuTTYgen
软件,点击Conversions
---->Import Key
来将.ssh目录下的密匙id_rsa导入其中,然后点击Save private Key
来将其转换保存成后缀名为.ppk
的密匙id_rsa.ppk文件。 -
运行
Pageant
程序(在PuTTYgen
软件安装时,默认一起安装了),将在电脑右下角出现,如下图箭头所指 -
右键选择
Add Key
来将刚刚通过PuTTYgen
软件保存的密匙id_rsa.ppk添加到其中。以后通过TortoiseGit
与服务器之间同步管理代码时,服务器上的公匙id_rsa.pub将与TortoiseGit
上的密匙id_rsa.ppk进行认证确认。 -
在.ssh目录下添加文件config,其内容如下所示:
host <此处替换成主机名>
hostname <此处替换成主机名>
user <用户名>
identityfile ~/.ssh/id_rsa
KexAlgorithms +diffie-hellman-group1-sha1
-
配置结束,此时可以通过
TortoiseGit
来进行代码同步管理。总体的过程是:首先将SSH Key
生成的rsa
公匙添加到服务器上,再使用PuTTYgen
来将SSH Key
生成的rsa
密匙转换成.ppk
形式的,然后将其添加到Pageant
中去。这样通过TortoiseGit
来将本地和服务器中的代码进行同步时,就会通过.ppk
形式的密匙与rsa
形式的公匙进行认证。此时对应的.ssh目录中文件如下:
三、代码评审Gerrit
1、Gerrit
简介
Gerrit
是一种基于网页版的代码审查软件,可以提供Code Review
等功能。- 将代码部署到自己的服务器上时,可以用其来作为代码审查的工具,它相当于一个
git
服务器,提供了管理托管在其上的代码的功能。
2、Gerrit
使用注意
- 由于
Gerrit
主要用来做代码管理的Code Review
,因此与其它git
服务器不同的是:在Push
本地代码到对应服务器中时,远端Remote不能为master
分支,而是先Push
到refs/for/master
分支,然后再登录Gerrit
账号并选择代码评审人,当评审人评审通过后,会自动将refs/for/master
分支的代码并到master
分支中。此时,才完成代码的提交合并到远端主分支。 Gerrit
使用参考:
四、托管代码服务器地址改变
- 首先要修改当前正在管理的项目中配置文件,即项目目录中:
.git目录
下的config文件
。修改该文件中的url
为当前的服务器路径 - 修改
.ssh
目录下的config
文件服务器名为当前服务器名称。 - 必要时可以重新生成
rsa
密匙和公匙,然后将新的公匙添加到服务器,将新的后缀名为.ppk
密匙添加到Pageant
中即可。
参考资料:
[1] 私钥文件id_rsa转换成putty的ppk格式
[2] 使用TortoiseGit自带的puttygen生成ssh密钥
[3] TortoiseGit之配置密钥
[4] windows下git和TortoiseGit(小乌龟)和putty安装配置对github进行操作