文章目录
2.1 一句话总结Git
- 在开发的过程中用于管理对文件、目录或工程等内容的修改历史,方便查看历史记录,备份以便恢复以前的版本的软件工程技术
2.2 可以完成哪些功能?
- 实现跨区域多人协同开发
- 追踪和记载一个或者多个文件的历史记录
- 组织和保护你的源代码和文档
- 统计工作量
- 并行开发、提高开发效率
- 跟踪记录整个软件的开发过程
- 减轻开发人员负担,节省时间,同时降低人为错误
2.3 主流版本控制工具/软件
- Git
- SVN(Subversion)
- CVS(Concurrent Versions System)
- VSS(Micorosoft Visual SourceSafe)
- TFS(Team Foundation Server)
- Visual Studio Online
2.4 版本控制分类
2.4.1 本地版本控制
- 记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如 RCS
2.4.2 集中版本控制
● 基本介绍
- 所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改
- 用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本
- 所有数据都保存在单一的服务器上,如果这个服务器会损坏 (有很大的风险) ,这样就会丢失所有的数据,需要定期备份
- 代表产品:SVN、CVS、VSS
● 示意图
2.4.3 分布式版本控制
● 解读-分布式版本控制
- 所有版本信息仓库全部同步到本地的每个用户
- 可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时 push 到相应的服务器或其他用户那里
- 每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据
- 更加安全,不会因为服务器损坏或者网络问题,造成不能工作的情况
- 代表软件:Git
● 示意图
2.5 Git VS SVN
2.5.1 SVN
- SVN 是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本
- 完成工作后,需要把自己的代码送到中央服务器。集中式版本控制系统是必须联网才能工作
2.5.2 Git
- Git 是分布式版本控制系统,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上
- 协同的方法说明:比如自己在电脑上改了文件 A,其他人也在电脑上改了文件 A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git 可以直接看到更新了哪些代码和文件