提出问题1
在软件开发中,一般由 多人合作完成 的,比如:4个程序员实现一个商城:
- 前端程序员 李雷 实现 注册页面、登录页面
- 前端程序员 韩梅梅 实现 首页、商品详情页
- java程序员 lucy 实现注册、登录功能
- java程序员 lili 实现首页、商品详情页
为了能够让程序运行,必须代码合并到一起,就是说:
将 前端程序员A、B的 html、css、图片,和 java程序员 C 、 D 的java代码 合并 到一起,才能组成一个完整的项目,才能实现 登录、注册、访问首页、商品详情页等
那么用什么方式传文件?用QQ传文件?用U盘传文件?这些都不够好,都有缺点
提出问题2
由于需求的变动,前端程序员修改了5版首页,最后需求改动,要使用第一版的首页,如果没有备份,就完全找不到第一版得首页,程序员哭晕在厕所里
版本控制工具
为了解决上面的问题,一些大神开发了版本控制工具,功能如下:
- 备份文件。当文件损坏、丢失后,能够恢复
- 记录历史。当文件进行多次修改后,能够方便记录何人、何时修改了文件
- 找回历史版本。可以方便切换历史版本
- 在多个设备、多个用户之间共享文件。学生A用自己的电脑将文件上传到服务器,学生B用自己的电脑下载该文件,修改后也上传到服务器,学生A也可以下载使用。
发展
| 版本管理工具 | 发布时间 | 管理方式 | 优缺点 |
|---|---|---|---|
| SVN | 2000年 | 集中式管理 | 相当于CVS增强版,使用广泛,且简单 |
| GIT | 2005年 | 分布式管理 | 使用最为广泛,但使用较为复杂 |
