程序员修炼之道系列 | 版本控制
- 2021-08-11 10:11:00
- LuLu
- 转贴:
- 禅道1
- 4504
虽然时光不能倒流,但撤销键(组合键和undo键)至少可以恢复几分钟前的操作。如果错误发生在上周呢?本期视频为大家推荐一个后悔药——版本控制系统,它的功能远不止于撤销。
版本控制是什么?
版本控制系统相当于项目的时间机器,它会将所维护的所有文件都保存在一个“仓库”中,主要用于追踪文件的变更。在软件开发过程中,确保由不同的人所编辑的同一文件都得到同步。
版本控制可以解决这些问题:
1、版本存储
使用版本控制系统,软件发布的所有版本和改动细节都会被保存,在正确命名的前提下,团队成员可随时找到之前的任意版本。
2、协同合作
在版本控制系统中,团队中每个成员都可以同时编辑同一个文件,自动合并编辑部分,解决合并冲突问题。
3、备份
每一个团队成员都会在本地有一个完整的项目副本,包括整个项目的历史记录。如果某个成员的存储出现问题,恢复需要的所有文件都可以在其他成员的本地仓库中获得。
4、了解发生了什么
版本控制系统可以显示当前版本和上一个版本之间的所有修改细节:
- 这行代码是谁改的?
- 当前版本中我们修改了多少行代码?
- 当前版本和上次版本的差异在哪……
版本控制系统的演进
1、本地版本控制系统
描述:采用某种简单数据库来记录文件的历次更新差异。
优点:不需要对项目频繁复制,避免了项目信息臃肿混乱,难以区分差异的问题
缺点:无法解决多人协作问题
代表工具:RCS
2、集中式版本控制系统
描述:解决本地版本控制系统的多人协作问题。
优点:
- 操作较简单,只需要拉取代码,提交代码;
- 基本解决多人协作问题,每个人都可以从服务器拉取最新代码同步伙伴的进度;
- 管理员可轻松控制各开发者的权限;
- 只需要维护中央服务器上的数据库即可。
缺点:
- 提交更新都需联网跟服务器进行交互,对网络要求较高;
- 风险较大,服务器一旦宕机,所有人无法工作。服务器磁盘一旦损坏,如果没有备份将丢失所有历史数据。
代表 工具:CVS、SVN
3、分布式版本控制系统
描述:解决集中式版本控制系统的缺点。
优点:
- 去中心化,从中央服务器拉取下来的是一个完整的版本库;
- 即使某一台机器宕机,也能找到文件的完整备份。
代表工具:Git
如今,借助版本控制工具,版本控制系统的与开发环境集成、赋予管理权限等更多功能已被解锁。一个充满协作、问题追踪、团队交流的更广阔的版本控制领域等我们一起探索。
- 联系人:阿道
- 联系方式: 17762006160
- 地址:青岛市黄岛区长江西路118号青铁广场18楼
如果您有优秀的原创文章,欢迎添加联系人直接与我们联系,或通过下方邮箱发送投稿文章,一经采用,我们会付以一定的稿件报酬。
- 投稿邮箱: yanruiyu@easycorp.ltd
- 投稿标题:向 [敏捷开发] 网站投稿
- 稿件要求:与敏捷开发相关的任何内容
更多投稿相关请点击 更多进行了解~