从2014年2月12号开始工作到现在,已经快小半年了,还记得第一次接触集中式版本控制工具SVN时的惊喜,这对于之前一直独立开发的我来说,才明白原来代码还可以这样管理!当然,现在对于SVN的理解,也不过是知道运行原理,能满足工作里一些简单的代码版本控制罢了。对于Git这个版本控制工具,其实已经听说很长时间了,也明白Git与SVN的工作原理的区别,也一直想入门接触一下,但是苦于下载的一些教材太厚,内容太多,一直也没上手练。正好,这几天事件比较宽裕,于是又找来相关的资料,开始慢慢接触Git的使用,希望和同学们一起入门啊!
闲话少说,下面咱们一起开始入门吧!
1.下载并安装Git
我用的是这个网址的安装包 http://www.cr173.com/down.asp?id=30724
大家也可以从其他的网站下载git的中文安装包
因为Git的安装比较简单,所以我只把重点的说一下,没有提到的界面,保持默认即可。
下面这个界面,是选择我们Git软件的安装位置,大家按照自己习惯来就可以。
下面的页面是为了选择安装什么组件,保持默认即可
选择安装什么版本,我们安装Git Bash版本即可
这个界面选择默认即可
安装成功了
我们打开开始菜单里面的Git Bash,如果出现的是这个界面,说明我们的Git已经安装成功了。
2.建立Git版本库
Git是一款分布式版本控制工具,而SVN则是一款集中式的版本控制工具。说的再明白一点,就是如果使用SVN进行版本控制,那么我们首先需要一台服务器,作为SVN的版本服务器,我们在进行提交操作的时候,SVN是将我们本地的代码同步到了SVN服务器中,也就是说,在SVN服务器上有我们各个更新版本的代码,但是在我们本地写代码的电脑上,只保存有最新的版本,所以,如果我们的SVN的服务器挂掉的话,之前的版本记录可能就会丢失的风险。
而Git则是采用的分布式的策略,也就是说,Git不光在服务器上保存有我们各个版本的记录,在每台使用Git的计算机的本地磁盘中,也保存有版本的记录文件,因此,我们可以实现离线的版本提交,当我们可以联网的时候,我们就可以将本地的版本库提交到我们的Git服务器。因此Git与SVN的工作原理是不一样的,这两个工具之间的其他区别,可以看一下这篇文章 http://blog.csdn.net/yihui8/article/details/6445847
下面,我们开始介绍Git简单的使用,虽然需要用到一些Linux的命令,但是,不要害怕,都很简单。
首先,我们需要建立几个文件夹,来模仿我们的使用环境。因为我只有一台电脑,因此,我的这台电脑即作为Git的服务器,也作为Git用户。所以,我们建立下面的文档结构,来模仿我们的使用环境。
Develop:是我们需要存放代码的文件夹,在这里面,存放的是我们写好的需要进行版本控制的代码文件
Git:这是我们Git软件的安装文件夹,为了图方便,放在这里了
Repository:英文是仓库的意思。这个文件夹是为了模仿的在服务器端的用于存放版本文件的文件夹。
在创建好这些文件夹之后,我们首先需要在服务器的文件夹里面,创建一个空的版本控制库。
打开我们的Git Bash,然后输入下面的命令
这样,就在我们的目录下面,创建了一个名为 share.git的空的版本库。
创建好版本库之后,我们可以看到下面的文件结构,则说明我们的版本库创建成功
创建好版本库之后,打开Develop文件夹,然后创建两个文件夹user1,user2,我们用这两个文件夹来模仿使用Git的两个用户。
首先,进入到user1之中,点击右键,选择git bash 这样,我们就打开了user1文件夹所在目录的命令行窗口
然后我们输入git clone /e/Repository/share.git/
这样,我们就把服务器上的版本库,拷贝到了本地,我们可以在我们的user1文件夹下面,看到多了一个share文件夹,这个就是我们拷贝下来的版本库,我们可以把我们需要进行管理的代码放在share目录下面,进行版本的控制
下面,我们模仿进行代码的版本控制,使用echo语句,在index.txt文件中写入“Hello Git”
然后使用cat命令查看文字是否写入成功
写入成功之后,我们就可以将这个文件纳入我们进行版本库,不过,在加入版本库之前,我们需要创建一个用户,才能进行提交到服务器版本库的操作
按照下面的命令进行用户的创建
创建好用户之后,执行 git add index.txt 命令,首先将index.txt添加到我们的版本控制中,然后执行git commit index.txt,将修改提交到我们本地的版本库中。
这样执行好之后,会出现下面的界面,这个界面是用VIM文本编辑器来写我们提交的版本的注释
VIM是linux下经常用到的编辑器,出现这个界面之后,点击i,进入到插入模式,写好注释之后,点击esc退出插入模式,回到命令模式,输入:wq,对修改进行保存并退出,这样,我们的文件就被提交到了本地的版本库中。
要注意的是,我们使用commit命令只是将我们的文件提交到我们的本地版本库,服务器上的版本库,还没有我们的信息,因此,我们还需要将我们的文件提交到服务器的版本库中,那么应该怎么做呢》
输入git push origin master
采用push命令,我们就将我们的版本库提交到了服务器上master分支,origin 代表的就是我们服务器版本库的地址
提交成功之后,其他用户就可以将服务器的版本库pull下来,进行协同开发了。