松鼠乐园 松鼠乐园
  • 注册
  • 登录
  • 首页
  • 快捷入口
    • Vue
    • Tensorflow
    • Springboot
    • 语言类
      • CSS
      • ES5
      • ES6
      • Go
      • Java
      • Javascript
    • 工具类
      • Git
      • 工具推荐
    • 服务器&运维
      • Centos
      • Docker
      • Linux
      • Mac
      • MySQL
      • Nginx
      • Redis
      • Windows
    • 资源类
      • 论文
      • 书籍推荐
      • 后端资源
      • 前端资源
      • html网页模板
      • 代码
    • 性能优化
    • 测试
  • 重大新闻
  • 人工智能
  • 开源项目
  • Vue2.0从零开始
  • 广场
首页 › 工具推荐 › 让Git项目日志也能动起来,炫起来!数据可视化利器Gource初探

让Git项目日志也能动起来,炫起来!数据可视化利器Gource初探

迦娜王
3年前工具推荐
694 0 0

开发的工作是繁忙而又充实的,每到项目阶段性的收尾,看着一起奋斗的兄弟姐妹们,心理也总会有些碎碎念,想着为这个项目留下点什么特别的印象,收在项目的汇总报告里也好,作为彼此的一种念想也好。

但苦于手边没有趁手的工具,当然,也不是没有,而是在我的轻微的“完美”强迫症下,总觉得他们不够“惊艳”,直到我偶然的发现了:Gource。

让Git项目日志也能动起来,炫起来!数据可视化利器Gource初探

先睹为快

不便于放上自己所进行的项目,就放上一段我用Gource制作的,关于开源软件Blockly Game开发简史的视频吧。

怎么样?够炫吧。从中,估计很容易就能看出来,Blockly Game项目,由始至终,最活跃的开发者,其实只有2个,他俩像小蜜蜂一样,在代码的花丛中穿梭。而2016年度,则应该是其开发的一个高峰期,可以看到,陆续有其他的一些开发者,也参与了进来。

安装

Gource的官方站点为:https://gource.io/,在官网上,开发者非常贴心的为Windows下的用户,提供了对应的安装包,和可直接执行的压缩文件包。

让Git项目日志也能动起来,炫起来!数据可视化利器Gource初探

下载对应的文件,并直接安装(或解压缩到相关文件夹下),即可开始使用。

而MacOSX用户,则推荐直接使用brew进行安装

brew install gource

当然,你也可以选择自行通过源代码进行编译安装,Linux/MacOSX下,比较简单,就是非常典型的./configure、make & make install,Windows下,则最好使用Qt Creator进行编译,因为,其Windows版本是在这一IDE环境下进行开发的。

最简使用教程

Gource是一个命令行的工具,内置支持Git,Mercurial,Bazaar和SVN项目日志的可视化动画生成。

这对我来说是足够了,事实上,现在我的项目,全部是使用Git进行管理的,但如果你的项目,恰好使用的是CVS这样的版本管理系统,那么,Gource也提供了一个脚本:cvs2cl,可以将CVS日志,输出转换为Gource能够读取的日志形式。

而使用Gource的最简单方式,则是在进入到对应的项目目录后,在命令行下,直接输入:

gource

是的,就这么简单,之后,Gource会弹出一个窗口,并在其中,按照时间顺序动态展示整个项目,就好像我刚刚视频所展示的那样。

多一点参数

Gource有很多的参数可以使用,具体可以参见他的官方Wiki文档,在这里,则拣几个我觉得重要的,稍微说下。

-s 秒数 : 设置在视频中,每天以秒为单位的仿真速度,默认是10秒。

显然的,如果这是一个时间跨度相当长的项目,并且你希望从头到尾的展示下整个开发过程,那感觉一定是非常“酸爽”的,比如那个《Blockly Game开发简史》。

幸好,Gource有-s参数,并且,可以支持小数,比如:0.03这样的。

-a 秒数 : 项目中,总会有那么一些日子,或者几天、或者几周,没有什么日志的提交。为了避免视频中,出现这样的停顿,可以通过-a参数,来设置遇到这种情况时,Gource前进到下一个条目时的时间间隔,默认为3秒后。

和-s一样,-a也支持小数。

输出视频

至少在我看来,输出视频,是我最需要的一个功能。Gource并没有直接提供输出常见视频格式的功能,相反的,我们可以首先通过使用 -o 选项,从Gource窗口中,捕获原始视频,并保存为PPM格式文件。

之后,则推荐使用视频编码器ffmpeg,来进行后续的处理,以最后生成我们所需要的视频,比如mp4。

让Git项目日志也能动起来,炫起来!数据可视化利器Gource初探

当然,在适当的参数帮助下,强大的ffmpeg还能帮助我们输出其他各种格式的视频,从webp,到gif,不一而足。

这几乎又是另外的一个话题了,在这里就不展开了。

更多一点

还记得我刚刚提到的 cvs2cl 脚本么?是的,实际上,Gource除了可以自动的处理来自Git,Mercurial,Bazaar和SVN项目的日志外,它还可以用来处理和生成任何符合Gource标准的日志文件,也就是说,Gource提供了一种可以将任何类似的日志数据,进行可视化动画展示的方式,日志文件写作的规范如下:

首先,每条日志占据1行。

其次,每条日志,一共可包含5个选项,选项和选项之间,使用半角的竖线(\’|\’)进行分隔,这5个选项分别是:

  • 时间戳 : 使用UNIX时间戳表示,代表该日志发生的时间
  • 用户名 : 进行相关操作的操作者名称
  • 操作类型 : 对资源的操作方式,Gource一共规定了3种,分别是 : A : 增加资源;M : 修改资源;D : 删除资源
  • 资源名 : 所对应操作的资源的路径名称,因为Gource事实上并不检测任何内容,因此,实际上,这里可以写任意你想写的内容
  • 颜色 : 16进制(FFFFFF)格式颜色说明,用于生成资源对应的颜色(可选)

是不是有一点心动?马上试一试吧?

git日志可视化 Gource
0
GraphQL,Grafana和Dash
上一篇
CodeQL代码分析引擎 的体验感觉
下一篇
评论 (0)

请登录以参与评论。

现在登录
聚合文章
Servicios profesionales Organizaciones
1年前
在Gitee收获近 5k Star,更新后的Vue版RuoYi有哪些新变化?
1年前
vue3.x reactive、effect、computed、watch依赖关系及实现原理
1年前
Vue 3 新特性:在 Composition API 中使用 CSS Modules
1年前
标签
AI AI项目 css docker Drone Elaticsearch es5 es6 Geometry Go gru java Javascript jenkins lstm mysql mysql优化 mysql地理位置索引 mysql索引 mysql规范 mysql设计 mysql配置文件 mysql面试题 mysql高可用 nginx Redis redis性能 rnn SpringBoot Tensorflow tensorflow2.0 UI设计 vue vue3.0 vue原理 whistle ZooKeeper 开源项目 抓包工具 日志输出 机器学习 深度学习 神经网络 论文 面试题
相关文章
idea、webstorm2020.2激活码
抖音无水印解析
开源的SQL查询优化工具–EverSQL
推介一个堪称神器的 Grid 代码生成器!前端工程师必备神器
松鼠乐园

资源整合,创造价值

小伙伴
墨魇博客 无同创意
目录
重大新闻 Centos CSS Docker ES5 ES6 Go Java Javascript Linux Mac MySQL Nginx Redis Springboot Tensorflow Vue Vue2.x从零开始 Windows 书籍推荐 人工智能 前端资源 后端资源 壁纸 开源项目 测试 论文
Copyright © 2018-2022 松鼠乐园. Designed by nicetheme. 浙ICP备15039601号-4
  • 重大新闻
  • Centos
  • CSS
  • Docker
  • ES5
  • ES6
  • Go
  • Java
  • Javascript
  • Linux
  • Mac
  • MySQL
  • Nginx
  • Redis
  • Springboot
  • Tensorflow
  • Vue
  • Vue2.x从零开始
  • Windows
  • 书籍推荐
  • 人工智能
  • 前端资源
  • 后端资源
  • 壁纸
  • 开源项目
  • 测试
  • 论文
热门搜索
  • jetson nano
  • vue
  • java
  • mysql
  • 人工智能
  • 人脸识别
迦娜王
坚持才有希望
1224 文章
35 评论
242 喜欢
  • 0
  • 0
  • Top