Git版本控制工具详解
王红元coderwhy
目录
1邂逅版本控制工具
content
2集中式和分布式区别
3Git的环境安装搭建
4Git初始化本地仓库
5Git记录更新变化过程
6Git远程仓库和验证
目录
7Git的标签tag用法
content
8Git分支的使用过程
9工作中的GitFlow
10Git远程分支的管理
11Gitrebase的使用
12Git常见命令速查表
coderwhy认识版本控制(版本控制)
?什么是版本控制?
?版本控制的英文是Versioncontrol;
?是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程;
?版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的同一程序文件都得到同步;
?简单来说,版本控制在软件开发中,可以帮助程序员进行代码的追踪、维护、控制等等一系列的操作。
coderwhy版本控制的功能
?对于我们日常开发,我们常常面临如下一些问题,通过版本控制可以很好的解决:
?不同版本的存储管理:
?一个项目会不断进行版本的迭代,来修复之前的一些问题、增加新的功能、需求,甚至包括项目的重构;
?如果我们通过手动来维护一系列的项目备份,简直是一场噩梦;
?重大版本的备份维护:
?对于很多重大的版本,我们会进行备份管理;
?恢复之前的项目版本:
?当我们开发过程中发生一些严重的问题时,想要恢复之前的操作或者回到之前某个版本;
?记录项目的点点滴滴:
?如果我们每一个功能的修改、bug的修复、新的需求更改都需要记录下来,版本控制可以很好的解决;
?多人开发的代码合并:
?项目中通常都是多人开发,将多人代码进行合并,并且在出现冲突时更好的进行处理;
coderwhy版本控制的历史
?版本控制的史前时代(没有版本控制):
?人们通常通过文件备份的方式来进行管理,再通过diff命令来对比两个文件的差异;
?CVS(ConcurrentVersionsSystem)
?第一个被大规模使用的版本控制工具,诞生于1985年;
?由荷兰阿姆斯特丹VU大学的DickGrune教授实现的,也算是SVN的前身(SVN的出现就是为了取代CVS的)。
?SVN(Subversion)
?因其命令行工具名为svn因此通常被简称为SVN;
?SVN由CollabNet公司于2000年资助并发起开发,目的是取代CVS,对CVS进行了很多的优化;
?SVN和CVS一样,也属于集中式版本控制工具;
?SVN在早期公司开发中使用率非常高,但是目前已经被Git取代;
?Git(Linus的作品)
?早期的时候,Linux社区使用的是BitKeeper来进行版本控制;
?但是因为一些原因,BitKee