版本控制可视化神器Gource:简单易上手,效果恰似烟花秀

Python开发者 2019-12-26

版本控制可视化神器Gource:简单易上手,效果恰似烟花秀

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

如此华丽的绽放,莫非是一场动画烟火秀?

非也,这其实是GitLab社区版的进化史,7年间82000次commit,尽皆在2.5分钟的视频内展现。

Python的演化历史更是鹅妹子嘤。

一开始,Guido化身一个白色的小人,满屏幕风风火火地释放“光束”,让“Python树”迅速长成了茁壮发育的模样。

而从92年开始,新的角色出现在了Python的成长史中。

Python社区日益壮大,到了2010年,“Python树”已经成长为参天巨树,像炫目的烟花一样满屏绽放。

是不是仿佛见证了一个新世界的诞生?而这样让人心醉的作品,其实全部出自一款软件版本控制可视化工具之后,它的名字叫Gource

将软件项目以动画树的形式展现,根目录为中心,目录为分支,文件为叶子,当一颗“树”华丽丽地舒展开,减去旧枝、添加新叶,也就意味着,开发人员为这一软件项目做出的贡献越来越丰富。

并且,这棵“树”不仅能展示软件版本的更迭,还可以显示有多少开发者参与其中。

心动了吗?其实,在Gource的帮助下,你自己的项目,也能如此可视化。想体验创世的感觉?那么一起来看看,Gource这一可视化神器该怎么用吧。

Gource怎么用

Gource支持Git,Mercurial,Bazaar和SVN等代码管理系统,还可以解析多个由第三方工具为CVS存储库生成的日志。

使用方法也并不复杂。

在Windows系统下,直接将Gource安装到本地,通过cmd(命令提示符)进入本地git文件夹,然后执行:

gource 

视频就能自动生成了。

Linux和Mac系统也同样支持,不过需要下载源码,自己编译。

△支持linux、Mac

Gource还有丰富的交互式控件和命令行选项。

比如设置屏幕分辨率:

gource-f-1280×720 

而在相机控制上,Gource提供了两种拍照模式:

  • overview:将整个存储库放在视图中。
  • track:跟踪当前活动用户或所选用户。
gource—camera-modetrack 

此外,通过鼠标和键盘,还可以控制镜头平移、回转、放大。

在时间控制方面,可以使用--start-position和--stop-position指定要显示的项目历史时段。

另外,在创造自己的可视化文件时,你还可以加上BGM,让音乐渲染情节的发展。

能怎么用

那么,用直观的方式展现软件项目的更迭历史,除了好看,还有什么用处吗?

Hacker News的网友们头脑风暴了一番。

有人说:这样出色的可视化,能够清楚地展示人们是怎样为开源软件做出贡献的。

大家都知道在开源社区中,协作会催生令人惊奇的结果。但没有什么比可视化更能直观地展现协作产生的能量。

还有网友提到了一种非常有情怀的用法:

在同事离职的时候,把Ta在公司期间所做的所有贡献可视化,并在告别会上展示出来。

当然,用它来了解一下公司的代码库是怎样生长的,似乎也是不错的选择。

我曾经在公司年仅一岁的代码库上运行Gource。这个小家伙每个月都在被重写。新的集群不断成长也不断被拆除。

你又有什么样大胆的想法呢?

One More Thing

Gource还有个兄弟产品,是网络流量可视化工具Logstalgia

在Logstalgia的作品中,Web服务器和永无休止的访问请求打起了乒乓球赛。服务器击中彩球,请求成功;服务器没接住的球,就意味着请求失败(如404)。

这画面我简直可以循环100遍。

传送门

相关推荐