将本地git分支可视化为整洁的交互式HTML页面

git-railwa的Python项目详细描述


Git铁路

将本地git分支可视化为简洁的交互式HTML页面

GitHub Actions: TestsPyPILICENSE

InstallationUsageDetails

Git Railway Example

安装

Git铁路可从PyPI到达

pipx install git-railway

使用

导航到git存储库或任何子文件夹,然后运行

^{pr2}$

您的铁路图将在railway.html中生成。使用-o--output选项来覆盖默认位置,例如

git-railway --output /tmp/mytemprailwaygraph.html

远程分支机构

如果要将所有远程分支包括到铁路图中,可以 传递-a--all选项,例如

git-railway --all

GitHub引用

如果远程存储库托管在集线器上 引用将替换为实际链接。如果GitHub slug从 远程是错误的,你可以用--gh选项覆盖它,例如

git-railway --gh p403n1x87/git-railway

缩放

可以通过设置缩放比例来控制生成的铁路图的大小 使用-s--scale选项的因子,例如

git-railway -s 1.5

这将使SVG比正常值大50%。在

冗长

您还可以使用-v--verbose选项。如果打开此选项,铁路图将内嵌 提交摘要以便于导航。在

git-railway -v

Git Railway Verbose Mode Example

常规承诺

如果您习惯于使用Conventional Commits格式 提交消息,当您将鼠标悬停在提交上时出现的弹出窗口将 为你突出显示这些信息。另外,被标记为 BREAKING CHANGE将使用不同的颜色以便于识别。在

Git Railway Breaking Change Example

细节

Git中没有branch这样的东西!在

您可能已经知道,git中的分支仅仅是一个引用(或标签) 每一次新的承诺都会发生变化。因此,即使不是不可能,也很难做到 根据git中可用的信息重构actual分支 存储库。此工具通过查看当前本地引用并收集 所有可以从他们那里得到的提交。“分支”是 通过查看重新记录确定 提交某个裁判已经开始了。有时这些信息会丢失。为 例如,当通过快速转发进行合并时,所有中间提交 未标记为目标分支的引用。他们应该成为 分支还是不分支?每当你在图表中看到一条灰色的轨道,那就是 缺少ref信息。在

时空拓扑序

父母会有更复杂的情况 时间戳,它在future中相对于它的某些子级。因此, 琐碎的时间顺序并不总是有效的。而且,我们可以 也存在精度问题;如果一个人连续创建多个提交, 它们最终可能会有相同的时间戳。拓扑序 另一方面,它本身也不是最优的。如果我们有一些陈腐的呢 从未合并过的分支?他们可能会在图表的最顶端, 尽管它的承诺很古老。在

解决方案是时间排序和拓扑排序的混合。例如,我们 可以从根据时间戳对所有提交进行排序开始,然后 对Kahn算法的一些更改,以确保我们定位最早的提交 第一。在开始时按时间顺序排序,其复杂性是 O(n log n)。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Apache Spark:使用sparksubmit比运行“单机版”慢3倍   macos错误/bin/sh:java:未找到命令   java Android Studio在尝试通过本地历史检索文件时崩溃   有没有办法从Java或Kotlin中读取Python pickle(test1.pickle)?   jacorb编译java类   用于cucumber测试、selenium测试和AEM的java SonarQube插件   java什么是SwingUtilities。你是做什么的?   java粒子系统   java为什么Switch case不能在普通类中工作?   java如何获取GridBagLayout的维度?   将java对象传递给js时Graalvm未知标识符   spring基于Java的配置版本是什么?   图中的“CPU”代表“核心”吗?   将java对象发送到rest Web服务   java如何使用Docx4j将字体更改为新段落?   正则表达式是在Java中执行大量字符串替换的最快方法   带toString的java Building 9x9   如何在cmd中运行java程序   java无法执行从Android应用程序到ASP的HTTPPost请求。NETWebAPI   java如何将数据从空活动传递到选项卡式活动?