提到了git,那么我们首先来了解一下什么是git
什么是git?
许多人都知道SVN是一个版本管理工具,Git也是一个版本管理工具,是目前世界上最先进的分布式版本管理工具,没有之一!对于版本工具而言,其实就是相当于我们在软件开发中对立的一个操作记录,项目中不同的开发进度分别代表不同的点,有效的记录分配各个项目模块进行管理,并且当出现错误时可以及时的进行回退,有点像数据库的事务。。。
2.集合式vs分布式:
集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。
那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
3.git的基本使用:
首先大多数了解git其实就是github这个网站,然后来进行git的学习。github相当于git的一个远程仓库,这个我们后面提及,我们先来进行git的基本学习.
首先既然是版本管理工具,那么我们肯定要有一个版本库来进行项目的管理咯。
版本库的创建:
每一个项目肯定要独立分配一个文件夹,然后在当前项目的文件夹下我们就建立一个仓库呗。
通过使用:
git init
这个简单的命令就可以建立一个仓库了,然后git如何证明当前目录是一个仓库呢?当然是放一个版本信息文件咯,.git就是这个文件,大家可以试一试
2.将文件添加到版本库中。我们创建一个文件,READBE.txt(我.打错成,了,不过不影响).
然后在文件里面随便写一点内容。记住,这个创建的文件一定要在我们当前的仓库目录下:
然后通过
git add <文件名> git commit -m "注释信息"
其中分两步的原因你可以吧不同的文件add 到暂存区中,然后在通过commit提交到当前分支,这些概念我们后面说,现在大家就理解这样操作就可以把文件提交到仓库中了!
上面出现了
git config --globa user.name "Your Name" git config --globa user.email "You@example.com"
这个就是我们安装git完成后设置自己的账户信息了.
git status命令:
这个命令是查看我们当前的仓库文件是否已被修改的,如果修改了就会出现修改信息。
git diff命令:
顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个“distributed”单词。
知道了对readme.txt作了什么修改后,再把它提交到仓库就放心多了,也就是显示我们对仓库的操作。
2.如何实现版本的回退呢?
我们对当前的仓库进行多次修改和add,commit之后,然后我们通过:
git log
这个命令是可以查看我们操作版本库的各项信息。
原文地址:http://memory73.blog.51cto.com/10530560/1793074