1.1 版本控制理解
版本控制
- 工程设计领域中使用版本控制管理工程蓝图的设计过程,在 IT 开发过程中也可以使用版本控制思想管理代码的版本迭代
集中式版本控制工具
- CVS、SVN、VSS等

分布式版本控制工具:
- Git、Mercurial、Bazaar、Darcs等

1.2 版本控制工具应该具备的功能
协同开发
- 多人并行不悖的修改服务器端的同一个文件
数据备份
- 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态
版本管理
- 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空 间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文件系统快照的方式
权限控制
- 对团队中参与开发的人员进行权限控制
- 对团队外开发者贡献的代码进行审核(Git 独有)
历史记录
- 查看修改人、修改时间、修改内容、日志信息
- 将本地文件恢复到某一个历史状态
分支管理
- 允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率
1.3 Git版本控制
发展史

优势
-
大部分操作在本地完成,不需要联网
-
完整性保证
-
尽可能添加数据而不是删除或修改数据
-
分支操作非常快捷流畅
-
与 Linux 命令全面兼容
git本地结构

git的代码托管中心
-
代码托管中心的任务即 维护远程库
-
GitLab服务器 (局域网环境下)
-
GitHub,码云(外网环境下)
本地库和远程库
-
团队内部协作
-
跨团队协作
