git笔记整理
1.什么是git:
它就是一个代码管理工具,同时也一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。经常用的代码管理工具还有SVN,CVS,Git,Subversion等等。
互联网公司使用代码管理工具了解到的有:gitflow,gitlabel等等;
a.CVS:
开启版本控制之门,年诞生,“远古时代”的主流源代码管理工具;
b.VSS:
微软的集中式版本控制工具,集成在VisualStudio中;
c.Subversion:
是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion;
2.集中式和分布式控制系统
a.集中式版本控制系统:
a)版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
b)集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟;
c)集中式如下图:
集中式b.分布式版本控制系统:
d)分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
c.分布式和集中式版本控制系统相比:
分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
d.分布式如下图:
分布式3.为什么使用git:
免费,开源,方便多人协同开发,方便版本控制;
4.Git的特点:
a.每个版本产生直接记录快照(版本的迭代记录清晰);
b.所有的操作都是在本地完成;
c.保证数据的完整性,例如:电脑坏了,没有网络等等;
d.基于Linux内核开发,可以使用liunx命令;
5.Git和SVN对比:
6.工作区和暂存区和仓库区:
a.工作区:对于添加、修改、删除文件的操作,都发生在工作区中;
b.暂存区:暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分;
c.仓库区:
仓库区表示个人开发的一个小阶段的完成;
仓库区中记录的各版本是可以查看并回退的,但是在暂存区的版本一旦提交就再也没有了;
7.Git操作流程:
Git服务器(
转载请注明:http://www.0431gb208.com/sjszlfa/7432.html