前言
- Git 是一个免费的开源分布式版本控制系统,是用来保存工程源代码历史状态的命令行工具,旨在处理从小型到非常大型的项目,速度快、效率高。《请查阅Git详细说明》。
- TortoiseGit 是 Git 的 Windows Shell 界面工具,基于 TortoiseSVN。它是开源的,可以完全使用免费提供的软件构建。提供的支持,例如提交、显示日志、区分两个版本、创建分支和标签、创建补丁等。《请查阅TortoiseGit详细说明》。
- TortoiseGit 必须依赖 Git 的环境配置运行,所以在安装 TortoiseGit 前,要先安装 Git 工具。
一、Git 安装使用教程
1.1 下载 Git 客户端
以 Windows 64 位系统为例,进行安装使用说明。
Git官网下载地址:Git Downloads
1.2 安装 Git 客户端
目前最新版本为 "Git-2.44.0-64-bit_2.exe",直接双击运行 。
- 进入安装导向界面,点击 <Next>
- 选择安装路径,然后点击 <Next>
- 接下来按照默认配置,一值点击 <Next> 即可
- 最后安装时,点击 <Install>
- 安装完成,点击 <Finish>
*注:如果不想看发行说明,在点击 <Finish> 前,先把 "View Release Notes" 的勾去掉。
1.3 验证 Git 客户端是否安装成功
- 在任意文件夹下点击右键,出现 "Git Bash here" 快捷键表示安装成功
- 输入 "git --version" 查看版本信息
1.4 使用 Git 客户端创建 SSH 密钥
- 查看 SSH 公钥的方法:在任意文件夹下点击右键,选择 Git GUI here。弹出的界面如下:
- 点击主菜单的【Help】→【Show SSH Key】
*注:如果没有 SSH 密钥,界面内容是空白的。
- 点击 "Generate Key" 生成 SSH 密钥(如果设置密码为空,直接点击OK即可)
- 点击 "Copy To Clibboard",把 SSH 的公钥粘贴到 Git 服务器的配置中【具体参考: 2.4.2】
SSH 密钥说明:
1. 点击 "Copy To Clibboard" 是把 SSH 公钥复制到粘贴板;
2. 通过 Git 生成的密钥一般都存在 C:\Users\XX\.ssh 目录下(其中 XX 是表示电脑账户)。
1.5 Git 拉取远程服务器源码
为了验证 Git 客户端可用,在 github 上随便拉取一份经典的开源代码,成功下载中...
二、TortoiseGit 安装使用教程
2.1 TortoiseGit 客户端与语言包下载
以 Windows 64 位系统为例,进行安装使用说明。
TortoiseGit官网下载地址:Download TortoiseGit
*注:目前最新稳定版本为 2.15.0.0。如果大家不习惯使用英文版本,可以下载中文语言包安装。
2.2 TortoiseGit 客户端与语言包安装
安装顺序特别说明:
1. 先安装 TortoiseGit 客户端;
2. 再安装语言包;
*注意:
- TortoiseGit 客户端安装到首次出现导向界面时,会有语言的选项;
- 此时,可先把中文语言包安装完成,再点击 TortoiseGit 刷新按钮,然后选择中文简体即可。
2.2.1 TortoiseGit 客户端安装
- 直接双击运行,然后点击 <Next> 默认安装
*注:如果不想安装到C盘,可自行选择安装路径
- 剩下的安装流程,一直点击 <Next> 默认安装即可
- 安装到导向界面时,先不要点击"下一页"
- 可以先跳到 步骤【2.2.3】完成语言包安装后,再回来接着操作
- 此时,假设你已跳到 步骤【2.2.3】完成了语言包安装
- 接着点击刷新按钮,选择中文简体
- 点击 <下一页>,系统会自动选择 git.exe 运行环境,默认即可
- 安装过程中,需要填写个人 git 账号和邮箱
2.2.2 使用 PuTTYgen 创建 SSH 密钥
- 如果你之前没有按照【1.4】步骤使用 Git 客户端创建 SSH 密钥
- 在此,还可以通过 TortoiseGit 自带的 PuTTYgen 工具创建 SSH 密钥
- 点击 "Generate PuTTY key pair" 创建 SSH 密钥
- 点击 "Save private key" 保存 SSH 私有密钥(要记住保存路径!!!)
- 将 Public Key 复制粘贴到 Git 服务器上,配置 SSH Key【具体参考: 2.4.2】
注:我选择在 Documents 下创建一个 ssh 目录来存放 SSH 密钥对(私钥和公钥)。
2.2.3 安装中文语言包
- 直接双击运行,一直默认安装即可
2.2.4 查看 TortoiseGit 汉化情况
- 完成 步骤【2.2.1】和【2.2.3】安装后,在任意文件夹点击右键,可以看到 TortoiseGit 已成功汉化
2.3 TortoiseGit 常规配置
如果你在上述的安装过程,不小心错过了一些关键步骤,也不必惊慌,在此将会重新介绍。
2.3.1 TortoiseGit 菜单配置
- 在本地创建一个空目录 (例如 Test),建议: 路径中不要包含中文
- 在空白处点击右键, 选择 TortoiseGit --> Settings
- 在空白处重新点击右键,可以看到弹出菜单已经汉化成功
- 从上图可以看到 "Git 克隆" 字样会显示在右键菜单里
- 点击 “设置” -- "右键菜单",把复选框的默认勾选都去掉,让右键菜单保持干净。
2.3.2 TortoiseGit 客户端 Git 配置
以下内容将会介绍,如何解决每次拉取或提交代码时,免除输入用户名及密码的操作。
- 每次通过 TortoiseGit 拉取或提交代码, 默认会要求输入用户名和密码
2.3.2.1 方法一:永久免除输入用户名和密码
- 在任意文件夹点击右键,选择 "TortoiseGit" -- "设置" -- "Git"
- 先填写自己远程服务器的用户名及邮件,然后点击 "应用"
- 再点击 "编辑全局.git/config(O)"
- 打开全局配置文件,并且添加如下内容
[user]name = testemail = test@example.comsigningkey = admin
[credential]helper = store
添加的内容说明:
- name:服务器用户名称(例如 test)
- signingkey:服务器用户密码(例如 admin)
- Email:提供给别人联系的邮箱
- helper = store:永久记住服务器的用户名和密码(这个配置是免密的关键)
2.3.2.2 方法二:只对指定仓库免除输入用户名和密码
- 在一个已经拉取远程服务器项目代码的目录里 (例如 Test),只对当前项目仓库免密操作
- 在当前目录点击右键,选择 "TortoiseGit" -- "设置" -- "Git" -- "编辑本地.git/config(L)"
- 在打开的文件里,添加如下内容
-
保存后,以后在这个仓库下拉取或提交代码,就不用重复验证了,因为小乌龟已经记录下了当前仓库的用户和密码。
[credential]helper = store
2.4 TortoiseGit 秘钥配置
2.4.1 SSH 密钥创建
- 关于 SSH 密钥创建方法,我已经在【1.4】和【2.2.2】小节都已经说过了
- 这两种方法,任意选择其中一种方法创建即可
- 如果你错过了【2.2.2】的创建方法,并且还想用 PuTTY 来创建 SSH 密钥
- 那么可点击电脑 "开始" --> "PuTTYgen",进入 PuTTY Key Generator
- 具体操作方法请参考:步骤【2.2.2】
2.4.2 将 SSH 公钥填写到 Git 服务器配置
这里以 GitBlit 服务器为例:
- 方法一:参考步骤【1.4】,点击 "Copy To Clibboard",把 SSH 的公钥粘贴 GitBlit 服务器对应用户的后台配置中
- 方法二:参考步骤【2.2.2】,在 "PuTTY Key Generator" 界面,将 Public Key 复制粘贴GitBlit 服务器对应用户的后台配置中
- 以上方法,任选一种即可
- 如果你选择了方法二,将 Public Key 粘贴到 Git 服务器配置里
- 那么点击打开 "开始" --> "Pageant"
- 添加前面 步骤【2.2.2】生成的 SSH 私钥 ssh-rsa.ppk。然后关闭
Pageant 添加 SSH 私钥的说明:
- 远程服务器已经添加了 SSH 公钥
- 使用 TortoiseGit 客户端向服务器拉取或提交代码时,Pageant 必须启动且添加了对应的私钥。否则会报错!!!
三、TortoiseGit 客户端与服务器交互
3.1 克隆或拉取远程服务器代码
- 新建 Test 目录,然后点击右键 --> "TortoiseGit" --> "克隆"
- 输入远程服务器URL,选择 Putty 密钥 (即 SSH 私钥)
- 点击确定,开始拉取服务器版本库代码
3.2 本地仓库提交代码到远程服务器
- 新增文件
- 修改文件内容
- 描述提交日志信息
- 将代码或新增文件,提交到远程服务器
- 点击推送(到远程服务器)
- 最后点击 "确定" 即可
四、Git 服务器安装使用教程
- 如果公司或个人想在 Windows 环境下搭建私有的 Git 服务器
- 那么,这个开源的 GitBlit 是一个不错的选择
- 详细教程请查阅《Windows搭建GitBlit服务器详细教程》