Git,Git Gui简明教程

来源:互联网 发布:win10控制软件安装 编辑:程序博客网 时间:2024/05/17 03:38

Git是一个分布式版本控制软件,原来是linux内核开发者林纳斯·托瓦兹(Linus Torvalds)为了更好地管理linux内核开发而创立的。但Git也同样可以用于其它需要版本控制的场合。

如果不太明白上面的一段话,可以参考:

http://zh.wikipedia.org/wiki/Git

http://zh.wikipedia.org/wiki/%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6

1、Git的安装

从http://git-scm.com/download/win 下载,安装选择默认,一路next。

注:如果是非windows系统,请访问http://git-scm.com下载。

2、Git的初始化

Git安装好之后,随便在一个文件下点右键,会发现多了三个菜单"Git Init Here"、"Git Gui"、"Git Bash",如下图。

刚开始,我们选择"Git Bash",会出现下面的对话框:

第一步,我们要设置Git的使用者信息,就像使用Word写文章,设置作者和单位一样,这里设置一下用户名和邮箱,输入如下代码:

git config --global user.name "YourName"

git config --global user.email "YourEmail"

注:把"YourName"、"YourEmail"替换成自己的。

3、Git结构

图1

Git一共分三个区,工作区(WorkSpace)、暂存区(Stage)和版本库(Repository)。另外,还有服务器(Server)端,不在本文讨论范围之内。

下面举一个例子说明,假设有这样一个项目,目录在E:\git\project1下面。

1、项目的初始化

在E:\git\project1下点右键,选择"Git Init Here"。

此时会在文件夹多一个".git"的文件夹(也可能看不到,这个文件夹默认是隐藏的,不过没关系)。当你再点击右键的时候,如果出现下面的菜单,就表示此项目建立Git仓库成功了。

2、添加、修改文件

上一步完成之后,你就可以把需要进行版本控制的文件、文档拷过来了。比如,我添加一个test.txt文件,里面的内容为"你好Git!",然后保存、关闭。

然后在文件夹下右键,选择Git Gui

会发现,我们刚才添加的test.txt文件没有缓存,存在于工作区,没有提交到暂存区。只要选择"缓存改动"就可以了。如果出现提示,选择"Yes"。

此时,test.txt就跑到"已缓存的改动"里去了。(图1红色区域)

在"初始的提交描述"里输入此次修改的信息,然后点击"提交",就提交到版本库了(图1绿色区域)。

提交完了之后,是看不到任何文件的,说明图1中的蓝色、红色、绿色三个区域的文件都是一模一样的。

如果想要看到修改记录,应该怎么办呢?

把这个Git Gui关了,再点右键Git History,如下图。

红色框框里显示的是修改的历史,当前只有一条。

蓝色框框里显示的是有哪些文件被修改了(红色框框里对应的修改历史)。

黄色框框里显示的是文件哪些内容被修改了(蓝色框框里对应的文件)。

下面,我们再修改一下test.txt,再提交。我在test.txt里添加一句话"今天很热"。

然后重复下面步骤:

1)打开Git Gui

2)缓存改动

3)添加描述内容

4)提交

再打开Git History

红色区域多了一条"今天很热",是我提交的描述。

蓝色区域还是test.txt文件。

黄色区域显示了修改记录,多了一条"今天很热!"。

注:黄色区域里,带"-"号的表示这一行被删除了,带"+"号的表示这一行是新添加的。

3、时间倒流

为了找会某一次提交的修改,我们可以从下面开始。假设又提交了几次,如下图。

我们想要回到"今天很热"这个时候的test.txt文件。

为了在寻找的时候方便,我们可以给某一次修改记录加上标签,如果是软件项目,比如v0.1 等等。

在"今天很热"上面点右键Create tag,然后输入标签内容,就比如v0.1吧。

加完之后,再看黄色区域:

"今天很热"前面多了一个"v0.1"的标签。

如果我们要回到v0.1这个版本,在上面右键,选择Reset master branch to here

此时会出来提示:

注意看说明:

Soft模式是当前工作区和暂存区都不动,只是把仓库里的版本跟v0.1的同步。

Mixed模式是当前工作区不动,暂存区和仓库里的版本跟v0.1的同步。

Hard模式是工作区、暂存区、仓库全部回到v0.1的历史版本。(这一步比较危险,你当前工作区域里修改的东西,如果没有提交,全部会丢失)

建议是用Mixed模式,没有错,给你后悔的机会。

为了回到过去,还能再回到现在,我们给当前的版本也加上标签,如v0.2。

然后,我们选择了一条"危险"的操作,选择了"Hard"模式。(因为我当前工作区域的所有文件都已经提交了,所以可以这么演示)。如下图:

此时,master指向了v0.1的地方,我们再打开test.txt文档。

又回到了最初添加的两条。

那么,再回到过去,在v0.2上右键Reset master branch to here,再选择Hard模式。Master又飞过去了!

再打开test.txt

哈哈,是不是有一种穿越时空感觉?

有人要问?如果我想从v0.1的地方重新开始一个版本,跟v0.2不是原来一条线,而我又不想动v0.2,那怎么办?

好办!

在v0.1上右键,Create new branch

新的branch(分支)的名字,比如weather,是一条关于天气的分支。如下图:

但你会发现,此时test.txt并没有发生变化。

你再到文件夹下,右键Git branch,你发现了什么?

你在master和weather之间切换,再看看test.txt,有没有发现文件变化?

好了,那我们切换到weather后,再修改test.txt。随便提交两次。

再打开Git History,发现了什么?

原来的master和v0.2都不见了,现在都是从v0.1开始的提交。

再把Git Branch切换到master,打开Git History

v0.2和master都还在!

现在明白了吗?branch就是分支的意思,从原来v0.1分出去之后,另一条线,跟master这一条一点关系都没有,除了起点v0.1是相同的。

4、删除文件

比如我在文件夹下添加了一个new.txt,提交了之后,这个文件我又觉得是多余的,想删掉怎么办?

直接删!

删完了再打开Git Gui

跟添加、修改文件一样,缓存改动,提交就行了。

最重要一点:

所有的记录都是保存在项目文件夹下的.git隐藏文件夹里的,如果把.git文件夹删了,所有记录都没了!


本文转自: http://www.tuicool.com/articles/v22iAr


0 0