跳过正文
Background Image
  1. Posts/

复活 GitStats:让 Git 历史分析焕发新活力

·979 字·2 分钟· ·
沈显鹏
作者
沈显鹏
目录

最近的晚上的时间(一般要等到孩子睡了)我正在做一件事:复活已经沉寂多年的 GitStats 项目。

此前,我曾写过两篇关于 GitStats 的文章,如果感兴趣,可以查阅了解。

什么是 GitStats
#

GitStats 是一个用 Python 写的工具,用来分析 Git 仓库的历史记录,并生成 HTML 报告。

然而,它只支持 Python 2,且作者已经停止维护(最后一次提交还停留在 9 年前)。

在当前开发环境中,兼容性和使用便捷性都受到很大限制,但不可否认,它的价值依旧存在。

因此,我决定对这个项目进行现代化改造。

我已经完成的工作
#

  1. 迁移到 Python 3.9+:重构代码以支持 Python 3 版本。✅
  2. 创建现代化流水线:增加 CI/CD 等工具,便于持续开发和发布。✅
  3. 发布到 PyPI:用户现在可以通过 pip install gitstats 来安装。✅
  4. 提供 Docker 镜像:用户无需自行处理依赖,运行 gitstats 更加便捷。✅
  5. 提供在线预览:创建一个展示页面,让用户直观了解 GitStats 的功能。✅

特别感谢
#

在这里我要特别感谢 Sumin Byeon(@suminb)。从他的介绍来看,他应该是一位生活在韩国的程序员。

原本 GitStats 在 PyPI 上的 Owner 是他,因此我无法直接使用这个名字。我尝试过其他名字,例如 git-stats 和 gitstory,但都因与其他项目的名字相近而被 PyPI 拒绝。

看到他的项目已经有五年没有维护了,我抱着试一试的心态给他发了一封邮件,问他是否愿意将 GitStats 的名字转让给我,因为我正在重振这个项目。

没想到,他很快回复了,并最终同意将 GitStats 的名字交给我。他唯一的条件是,如果将来我停止维护 GitStats,而其他人需要这个名字时,我也能像他一样将名字交给对方。

THANK YOU

我答应了他,也承诺将长期维护 GitStats。(希望我能够做到)

未来计划
#

  1. 解决有价值的 Issue:梳理原仓库中未解决的问题,挑选具有价值的进行修复。
  2. 审查现有 Pull Requests:评估原仓库的 PR,视情况合并到当前项目中。
  3. 更新文档:完善文档,使其更清晰易懂。
  4. 添加新功能:增加功能,使项目更强大、更有用。
  5. 优化 UI:提升界面美观性,改善用户体验。

如何参与
#

如果你对 GitStats 的改进有兴趣,欢迎参与这个项目!你可以:

  1. 建议功能:提出想法或功能请求,帮助项目更贴近用户需求。
  2. 贡献代码: 修复 Bug 或添加功能,为项目直接出力。
  3. 分享推广:将 GitStats 推荐给可能感兴趣的朋友或社区。

最后,让我们携手合作,让 GitStats 再次焕发活力!

写于 2024 年 11 月 28 日凌晨 2:50


转载本站文章请注明作者和出处,请勿用于任何商业用途。欢迎关注公众号「DevOps攻城狮」

相关文章

Error: Permission denied (publickey)
·276 字·1 分钟
本文介绍了如何在配置多个 SSH Git Key 时解决 “Permission denied (publickey)” 错误,确保 GitHub 和 Bitbucket 的 SSH 连接正常工作。
约定式分支规范中文版正式发布!
·1373 字·3 分钟
本文介绍了约定式分支规范的中文版,旨在通过结构化的命名约定提高 Git 分支的可读性和可操作性。
2023 年开源状况和人工智能的崛起(GitHub)
·7338 字·15 分钟
本文介绍了 GitHub 发布的 2023 年开源状况和人工智能的崛起报告,分析了开发者社区的增长、生成式 AI 的应用以及云原生技术的发展趋势。
程序员自我修养之Git提交信息和分支创建规范(工具篇)
·1268 字·3 分钟
本文介绍如何使用 Commit Check 工具来验证 Git 提交信息、分支命名、提交用户名字、提交用户邮箱等是否符合规范。
如何创建 GPG 密钥并添加到 GitHub
·307 字·1 分钟
本文介绍如何生成 GPG 密钥、导出公钥并将其添加到 GitHub,用于提交签名验证。
靠谱:在不删除和重建 GitHub 仓库的情况下与父(Fork)仓库分离(Unfork)
·693 字·2 分钟
本文介绍了如何通过 GitHub Support 实现与父仓库的分离,避免删除和重建仓库带来的数据丢失问题,帮助开发者更好地管理 Fork 的仓库。