Git概述
用于管理多人协同开发项目的技术
- 记录多个文件的历史记录
- 实现跨区域多人协同、并行开发
- 记录软件的开发过程
版本控制
多人开发时,为避免代码版本不兼容问题,需要用到版本控制
主流的版本控制工具
- Git
- SVN
- CVS
- VSS
- TFS
- Visual Studio Online
版本控制分类
1.本地版本控制
版本信息保存在本地
2.集中版本控制
版本信息保存在公共服务器,协同开发者从服务器上同步更新文件
代表产品:SVN、CVS、VSS
值得注意的是,Git和SVN的命令相似、模式相似,因此学会Git后很容易上手SVN
3.分布式版本控制
版本信息同步保存到本地的每个协同开发者,开发者可以离线更新本地文件,联网后更新服务器文件
(即每个人都拥有全部的代码)
代表产品:Git
Git和SVN的主要区别
SVN | Git |
---|---|
集中式版本控制系统 | 分布式版本控制系统 |
版本库集中保存在中央服务器 | 没有中央服务器,每个开发者的电脑都拥有完整的版本库 |
必须联网 | 可以离线工作 |
从中央服务器获取其最新版本信息-->修改代码-->上传更新服务器版本信息 | 开发者可以随时查看版本信息的变化 |
Git历史
起初,版本信息由Linux内核维护,处理提交补丁和保存归档等
2002年开始,项目组与BitKeeper的商业公司合作,启用一个专有的分布式版本控制系统BitKeeper来管理和维护代码
2005年后,BitKeeper与Linux内核开源社区合作关系结束,迫使Linux开源社区开发出了自己的版本控制系统Git