版本控制工具
分类
集中式版本控制工具
CVS、SVN、VSS
缺点:如果服务器一旦宕机,所有历史数据将会丢失
分布式版本控制工具
Git、Mercurial、Bazaar、Darcs......
优势:本地即可进行版本控制,很好避免了单点故障
需要有一个远程库
功能
协同修改
多人并行不悖的修改服务端的同一个文件
数据备份
不仅保存目录和文件的当前状态,还能保存每一个提交过的历史状态
版本管理
在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。
- SVN采用的是增量式管理的方式
- Git采取了文件系统快照的方式
权限控制
对团队中参与开发的人员进行权限控制
对团队外开发者贡献的代码进行审核--Git独有
历史记录
- 查看修改人、修改时间、修改内容、日志信息
- 将文件恢复到某一个历史状态
分支管理
允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率
Git简介
Git是分布式版本控制工具的代表,常用于以下两种场景
- 个人开发改进迭代
- 团队协作
Git优势
- 大部分在本地完成,不需要联网
- 完整性保证
- 尽可能添加数据而不是删除或者修改数据
- 分支操作非常快捷流畅(快照方式管理)
- 与Linux命令全面兼容
Git的结构
Git和代码托管中心
代码托管中心的任务:维护远程库
局域网环境下
- Gitlab服务器
外网环境下
- GitHub
- 码云