概述
这里包含了一组让 Git 的使用样例,通过样例让您快速了解 Git 简单的使用方法,并将其运用到工作中。
- 一台新电脑的开始
本部分教程将教你如何在一台全新的电脑上安装 git 和使用相关的 GUI 工具(我们以 TortoiseGit 为教程对象)。 - 本地简单使用
本部分介绍了,Git 在不与远端协同使用的场景。主要为新建、提交和版本浏览。 - Git服务器搭建
本部分介绍了,Gitea 服务器的简单搭建了配置方法,可以快速上手进行 GIT 使用。 - Git的协作之旅
本部分介绍了,使用 Gitea 的简单方法,主要为项目的克隆、拉取和推送。
一台新电脑的开始
想要使用 GIt,你首先就需要安装软件并配置环境。放心这个工作相当简单。
在本教程中一台新电脑要想使用 Git 需要有如下的环境:
- Git 客户端。
- Git_GUI 客户端。(软件有 SmartGit,SourceTree,TortoiseGit 等)
- 配置 Git 的一些默认参数。
安装 Git 客户端
- 选择一个 Git 安装包,建议为 X64。

- 启动安装程序, 出现下面界面时做如下选择。

- 之后安装,直接选择默认选项即可。
- 完成安装后,通过 cmd 输入
git --version检查 Git 版本验证安装成功。(教程中软件版本为 2.17.0)
安装 Git_GUI 客户端
本教程使用的 Git_GUI 客户端为 TortoiseGit
基本软件安装
- 选择一个 TortoiseGit 安装包,建议为 X64。

- 运行安装程序,全部都使用默认配置安装。
- 安装结束后,在资源管理器空白处右键菜单就可以看到 TortoiseGit 菜单,安装成功。

中文语言包安装(可选,但是本教程都以中文为模板进行讲解 ^_^ )
- 安装中文语言包,选择对应办版本的语言包。

- 安装使用默认配置即可。
- 安装结束后,在资源管理器空白处右键,选择 TortoiseGit-> 设置。

- 按照下面图所示设置语言为中文并保存设置。

- 在资源管理器空白处右键检查语言包安装情况。

配置 Git 的默认参数
在使用 Git 之前需要对 Git 进行简单的配置,设置提交人的名称和邮箱步骤如下:
- 在资源管理器空白处右键,选择 TortoiseGit-> 设置。

- 按照下面图所示设置名称和 email 并保存设置。

本地简单使用
由于 Git 的版本管理功能是分布式的,因此在没有服务器的情况下 Git 也能够进行版本管理。下面说明 Git 的本地使用方法。下面简单说一下集中与分布的特点
集中管理与分布式管理(摘自廖雪峰的网站)
Linus 一直痛恨的 CVS 及 SVN 都是集中式的版本控制系统,而 Git 是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?
先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个 10M 的文件就需要 5 分钟,这还不得把人给憋死啊。
那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件 A,你的同事也在他的电脑上改了文件 A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

已有文件使用版本控制
在一个已有文件的文件夹下使用 Git 版本控制的方法如下:
我们已经有了一个名为 TestGitCC 项目,该项目为一个 Hello World 程序。
- 在资源管理器中切换到
TestGitCC项目的目录下。
- 在空白的地方右键,并点击 Git 在这里创建版本库。

- 使用默认设置完成版本库创建。

- 再次在空白的地方右键,并点击 Git 提交。

- 在弹出的对话框中填写 提交说明 并勾选 main.c ,完成版本库的第一次提交。

在空文件夹使用版本控制
在一个空文件夹下建立版本库的过程如下:
- 通过资源管理器在任意位置建立一个空的文件夹。
- 然后在文件夹中空白的地方右键,并点击 Git 在这里创建版本库。

- 使用默认设置完成版本库创建。

- 这时若开启隐藏文件显示,就可以看到一个.Git 文件夹,证明仓库创建完成。
扩充我们的仓库—增加文件
继续以 TestGitCC 项目为例,我们在项目中增加了一个 add.c 文件,并增加 add 函数如下。
int add(int a,int b){return a+b;}
之后需要提交这个文件到我们的仓库
- 在资源管理器中切换到
TestGitCC项目的目录下。 - 在空白的地方右键,并点击 Git 提交。
- 在弹出的对话框中填写 提交说明 并勾选 add.c ,最后点击提交。
优化我们的仓库—修改文件
继续操作 TestGitCC 项目。增加完函数我们跃跃欲试,我们还想修改这个文件,我们需要为 add 函数增加注释。
/****
* 加法函数
* 输入: a , b
* 输出: a + b
*/
int add(int a,int b){
return a+b;
}
- 在资源管理器中切换到
TestGitCC项目的目录下。 - 在空白的地方右键,并点击 Git 提交。

- 在弹出的对话框中填写 提交说明,最后点击提交。(已在仓库中的文件不用再次勾选)

排除“垃圾”文件—忽略文件
我们怀着激动的心情,编译了第一个使用 Git 管理的项目 TestGitCC,我们发现项目中多出了一个 Debug 文件夹并且,它会显示在提交界面里,这样每次提交都看到对于有强迫症的人而言实在不爽!

因此我们需要将项目中忽略的 Debug 文件夹忽略掉,让它以后再也不显示。
- 在资源管理器中切换到
TestGitCC项目的目录下。 - 选中 Debug 文件夹并在其上右键选择 TortoiseGit-> 添加到忽略列表->Debug

- 在弹出的对话框中都使用默认选项并确认。

- 在
TestGitCC项目下会多出一个.gitignore 文件。
- 参照 2.3. 增加一个新的文件提交 .gitignore 文件

剔除“垃圾”文件—删除文件
在做完上述工作我们发现 add 函数我们根本没有用到啊!对于一个强迫症而言,没用的东西都是垃圾需要清理,这里我们就把 add.c 删除吧。(请放心大胆的删除,我们有了 git 就有了历史版本,add.c 还可以还原)
- 在资源管理器中切换到
TestGitCC项目的目录下,直接删除 add.c 文件。 - 在空白的地方右键,并点击 Git 提交。
- 在弹出的对话框中填写 提交说明 ,最后点击 提交。(注意这里 add.c 显示为缺失也就是删除的意思)
时光机的回溯—浏览历史与版本还原
现在,我们将进入时光机一起浏览我们对项目作出的修改!我们不需要记住我们每次都改了啥,Git 已经都处理好了,我们只需准确填写
- 在
TestGitCC项目的根目录的空白区域右键,点击 TortoiseGit-> 显示日志。
- 在弹出对话框中可以看到项目所有的提交记录。

不好,现在我们还是想要要回我们的 add.c 文件,我们需要将其还原到带注释的版本。
- 找到 清理 没用的文件 的这条提交。

- 在下面 add.c 上右键,选择还原到父版本。

- 然后见证奇迹 add.c 文件回来了!

时光机还能帮我们进行版本比较,不过这个功能就留到高手进阶再介绍了~
Git 服务器搭建
本部分仅建议服务器管理人员使用查看
Git 服务器的程序有很多人开,目前比较有名的程序有:
- Gitblit: 使用 java 开发,多平台可以使用
- Gitlab: 使用 Ruby 开发类似 Github,只能在 Linux 中运行
- GoGs,Gitea: 使用新的 go 语言编写,支持全平台。
本教程以 Gitea 为例说明服务端的搭建过程,搭建实例的机器为 192.168.1.16 服务器。
- 将 Gitea 程序放置到
D:\Gitea\目录下。
- 选则适当的版本运行 Gitea。
- 通过http://127.0.0.1:3000/访问 Gitea。
- 首次访问需要对 Gitea 进行配置,配置说明如下图所示,最后点击安装。(点击安装会出现 gitea.db 文件无法打开问题可以在
**D:\Gitea\data**下新建一个**txt**文件然后更名为**gitea.db**)
数据库: SQLite3
数据库文件路径: D:\Gitea\data\gitea.db
应用名称: git 服务网站
仓库根目录: D:\Gitea\data\gitea-repositories
域名: 192.168.1.16
应用 URL: http://192.168.1.16:3000/
管理员用户名: gitea
管理员密码: 根据情况设置
管理员邮箱: 根据情况设置
- 完成设置之后,关闭 Gitea。
- 通过管理员身份启动 cmd
- 通过如下命令进行 Gitea 服务注册,设置其开机自启动。
x64 版本sc create gitea binPath= "D:\Gitea\gitea-1.4.0-windows-4.0-amd64.exe" start= auto
x86 版本sc create gitea binPath= "D:\Gitea\gitea-1.4.0-windows-4.0-386.exe" start= auto
- 通过任务管理器查看服务已启动。
- 通过http://192.168.1.16:3000/访问,验证服务安装成功。
这里只是简单的搭建方法,对于服务器的配置请参看 Gitea 服务的进阶配置
Git 的协作之旅
在有了 Git 服务器之后便可以通过服务器进行 Git 项目的管理,同时能够通过服务器实现项目的多人协作开发。下面将介绍如何使用 gitea 进行操作。
Gitea 注册账号
- 访问 Gitea 主页面(http://192.168.1.16:3000/),点击注册。

- 填写相关信息完成注册。

- 登录账号验证注册。


本地已有版本库
可能你已经拥有了一个本地的 Git 版本库,并有了相当多的历史提记录。下面将指导你如何将一个已有的版本库同步到服务器中。
这里同样以 TestGitCC 项目为例进行说明。
- 访问 Gitea 主页面(http://192.168.1.16:3000/),点击登录。

- 点击 +-> 创建新的仓库。
- 如下,填写仓库相关信息。
仓库名称: TestGitCC
仓库描述: Git 服务的使用说明(根据情况填写)
可见性: 根据情况选择
- 完成创建后结果如下,复制 HTTP 的链接。
- 在资源管理器中切换到
TestGitCC项目的目录下。 - 在空白处右键,点击 TortoiseGit-> 推送。
- 在弹出的对话框中点击管理。
- 在管理对话框中将拷贝的 HTTP 的链接填入 URL 中。
- 推送到服务端
- 在网页中检查推送结果

服务端新建版本库
这里创建一个带有 gitignore 文件和 README.md 文件初始化的仓库
- 访问 Gitea 主页面(http://192.168.1.16:3000/),点击登录。

- 点击 +-> 创建新的仓库。
- 如下,填写仓库相关信息。
仓库名称: TestGit2
仓库描述: 服务端新建的仓库(根据情况填写)
可见性: 根据情况选择
.gitignore:c,c++,Visual Studio,Visual Studio Code
使用选定文件和模板初始化仓库: 勾选
- 复制仓库的 HTTP 链接。
- 打开资源管理器,找到一个没有 git 的文件夹下。
- 在空白的地方右键,点击克隆。
- 弹出的对话框直接使用默认设置(拷贝链接会直接贴入 URL)。
- 打开项目文件夹,然后就可以在文件夹中肆意妄为了。
推送提交的内容
相比于 Git 的本地使用,在协作开发时需要注意的就是将提交推送到服务端。
这里以 TestGit2 项目为例说明,推送方法。我们为 TestGit2 增加一个 main.c 文件,并已经将文件提交到本地。
- 在资源管理器中切换到
TestGit2项目的目录下。 - 在空白处右键,点击 TortoiseGit-> 推送。
- 在弹出对话框中直接点击确认,推送数据即可。

对于 Gitea 的使用只有建立仓库,然后做拉取和推送吗?答案很明显,要知道更多内容分就请移步 Gitea 的进阶使用
