版本管理总结

作为数据从业者,在日常工作中,无论是ETL开发,还是数仓SQL开发,或者工作进展汇报,都可能会涉及到版本管理。这些场景都有什么特点?是否具有共同点呢?以下是一个简单的总结。

1、通用版本管理工具

这类工具可将各类脚本(如SQL、存储过程、python、shell等)进行版本管理。通常要有这些功能:记录修改时间、修改人、版本号,进行版本回退、合并、冲突处理。在实践中主要是这两类工具:

a、SVN

  SVN搭建方便,无费用,概念简单:Checkout → Update → Commit,GUI 客户端工具多,常见的有tortoiseSVN,使用便捷。在各种规模的团队中都有使用。

b、Git

  Git 是一个开源的版本控制系统(VCS)。概念多(工作区、暂存区、本地仓库、远程仓库),学习曲线略陡。如果不想背 Git 命令,又想完整用 Git 功能,可以使用免费的图形化客户端软件sourcetree。结合github,可以与全球开发者共同参与开发知名开源项目,并为其贡献代码。

SVN除了管理脚本外,还可以管理文档,如word、Excel等,在团队规模很小时,还可被当做网盘使用,做为团队内部的资料分享工具。如以下的案例:

 image

2、工具自带版本管理功能

除了通用工具外,数据开发中使用到一些工具软件往往会自带版本功能,比如以下两种典型案例:

a、网易大数据开发套件

  网易大数据套件基于开源hadoop生态研发出的大数据全家桶,包含离线开发等功能。其离线开发模块中可配置SQL脚本。该模块支持上线发布,历史版本查看以及回滚,这样就直接在工具中实现了版本管理功能。

image

image

image

b、Informatica ETL工具

  Informatica为商业版的ETL软件,功能强大,性能稳定,Informatica 自带 Repository(存储库)版本管理机制,所有映射(Mapping)、会话(Session)、工作流(Workflow)等对象都存储在中央存储库数据库中,支持对象的 Check-in / Check-out。可以直接在工具内查看历史版本、恢复旧版本、比较差异。

3、文档版本管理

以上两种情形主要是处理代码与流程,而在文档处理方面,在线处理工具可以方便的进行文档版本管理,既可以多人同时编辑,也可查看历史编辑记录,还可以还原到历史的某个版本。在小团队内统计工时、周报任务等场景中非常实用。

image

 4、总结

有了版本管理工具,在团队中,可以使得多个成员并行处理同一份内容;作为个人,可以基于同一份内容并行满足多个需求。提高任务处理的并行度,满足一个人同时处理多个任务,一个任务同时被多个人处理,应该就是版本管理工具的意义和价值。

posted on 2025-09-04 16:43  davawang  阅读(13)  评论(0)    收藏  举报

导航