Git简明教程
2017-03-29 11:09
267 查看
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://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文件夹删了,所有记录都没了!
相关文章推荐
- git 版本控制使用笔记 附git远端建仓简明教程
- Git_Git Windows简明教程--概述、安装和配置
- git简明教程
- GIT简明教程
- Git 简明使用教程
- Google Code项目代码托管网站上Git版本控制系统使用简明教程
- ZH奶酪:Git简明教程
- Git 简明教程
- git 简明教程
- 简明git教程(单人版本)
- Git 简明教程
- 在win7下面使用cygwin,并且安装使用git,以及git简明教程
- 在win7下面使用cygwin,并且安装使用git,以及git简明教程
- Git超简单入门简明教程--写给一直不敢用Git的同学
- Git 简明教程
- Git使用简明教程
- Google Code 项目代码托管网站上 Git 版本控制系统使用简明教程
- 【转】Google Code项目代码托管网站上Git版本控制系统使用简明教程
- Google Code项目代码托管网站上Git版本控制系统使用简明教程
- Git 版本控制简明教程 - 连环画一样的清晰简单