常用命令及说明如下:

操作

说明

Fetch

从远程获取最新版本到本地不会自动merge

Merge

可以把一个分支、标签或某个commit的修改合并到现在的分支上

Pull

从远程获取最新版本并与本地代码合并相当于fetch+merge

Push

将本地分支的更新推送到远程主机

Commit

将修改提交到本地仓库中

一、创建仓库

1、创建仓库很简单,在文件夹上右击->Git Create repository here…即可。 

tortoise修改仓库地址_版本控制系统

2、如果创建仓库时仓库对应的文件夹中有文件,那Git Create repository here…之后还要Commit一下。 

tortoise修改仓库地址_版本控制系统_02

3、创建本地仓库后,如果只想删除仓库,而不删除对应的物理文件时,可以通过删除仓库中隐藏的.git文件夹来实现。

二、Clone仓库

Git Clone操作克隆的是所选仓库当前分支的内容,如果当前分支不是主分支master,而是分支BranchA,那Git Clone操作克隆的就是BranchA中的内容。 

tortoise修改仓库地址_新版本_03

tortoise修改仓库地址_忽略列表_04

三、查看修改记录

我们打开本地仓库中的项目文件,对其进行编辑然后Commit,就会在Log中产生提交记录,我们可以查看每次Commit所提交的文件,及每个文件产生的变化。 

tortoise修改仓库地址_tortoise修改仓库地址_05

 

tortoise修改仓库地址_忽略列表_06

tortoise修改仓库地址_新版本_07

四、版本回溯

1、我们每编辑+Commit一次,仓库就会生成一个新版本,假设第一次提交时仓库为版本A,然后根据提交顺序依次生成版本B、C、D、E、F,当前版本为版本F,如果此时想得到版本C的内容,那可以使用版本回溯Reset+克隆Clone这一组合。 对于中文版,路径为:显示日志-选中对应版本记录右键-还原此版本做出的变更。

tortoise修改仓库地址_版本控制系统_08

由版本F回溯到版本C后,仓库中的物理文件并没有变成版本C的内容,依然是版本F的内容,如此设计使仓库从版本F降到C,再从版本C回到D、E或F成为可能,不过此时在其他地方Clone时获取到的是版本C的内容。

回溯到“添加EditTwo.cs”版本后,在GitUser文件夹Clone所得内容截图如下: 

tortoise修改仓库地址_tortoise修改仓库地址_09

2、本地仓库由版本F回溯到版本C后再回到版本F,物理文件其实没有发生一点变化;如果本地仓库由版本F回溯到版本C后,直接Commit “Working tree changes”那版本D、E、F会合并成新版本D,不过此时新版本D相当于旧版本的F。 

tortoise修改仓库地址_tortoise修改仓库地址_10

 

tortoise修改仓库地址_版本控制系统_11

 

tortoise修改仓库地址_版本控制系统_12

3、版本回溯操作只记录在RefLog日志中,在Log日志中不体现。 

tortoise修改仓库地址_tortoise修改仓库地址_13

五、忽略文件

对于那些没有必要提交到仓库的文件可以将其添加到忽略列表中。 

tortoise修改仓库地址_忽略列表_14

将文件添加到忽略列表之后,便会出现一个名为.gitignore的文本文件,打开之后文件内容如下: 

tortoise修改仓库地址_忽略列表_15

几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把手中的工作从开发主线上分离开来,以免影响开发主线。在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副本。对于大项目来说,这样的过程会耗费很多时间。 

Git的分支模型被称为它的“必杀技特性”,也正因为这一特性,使得Git从众多版本控制系统中脱颖而出。因为创建、合并、删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并到master后再删掉分支,这和直接在master主分支上工作效果是一样的,但过程更安全。

六、创建分支

在准备创建分支之前,最好是把*.suo文件加入到忽略列表,这样可以避免一些冲突的发生。 创建分支有多种方式,这里介绍两种,方法一截图如下: 

tortoise修改仓库地址_忽略列表_16

方法二截图如下: 

tortoise修改仓库地址_忽略列表_17

 

tortoise修改仓库地址_tortoise修改仓库地址_18

七、切换分支

在切换分支之前一定要确保当前分支已经Commit。 

tortoise修改仓库地址_tortoise修改仓库地址_19

tortoise修改仓库地址_tortoise修改仓库地址_20

八、合并分支

合并分支当然是2个分支合并,当前分支是主动合并的分支,Merge选择的分支是被合并的分支,逻辑一定要搞清楚。 

tortoise修改仓库地址_忽略列表_21

tortoise修改仓库地址_版本控制系统_22

九、删除分支

分支被合并后并不会被自动删除,如果该分支已经完成他的使命,则可以大胆地将其删除。 

tortoise修改仓库地址_忽略列表_23

 

tortoise修改仓库地址_新版本_24