版本控制可视化神器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遍。