将本地git分支可视化为整洁的交互式HTML页面
git-railwa的Python项目详细描述
Git铁路将本地git分支可视化为简洁的交互式HTML页面
在
Installation• Usage• Details 在
在
安装
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
在
常规承诺
如果您习惯于使用Conventional Commits格式 提交消息,当您将鼠标悬停在提交上时出现的弹出窗口将 为你突出显示这些信息。另外,被标记为 BREAKING CHANGE将使用不同的颜色以便于识别。在
在
细节
Git中没有branch这样的东西!在
您可能已经知道,git中的分支仅仅是一个引用(或标签) 每一次新的承诺都会发生变化。因此,即使不是不可能,也很难做到 根据git中可用的信息重构actual分支 存储库。此工具通过查看当前本地引用并收集 所有可以从他们那里得到的提交。“分支”是 通过查看重新记录确定 提交某个裁判已经开始了。有时这些信息会丢失。为 例如,当通过快速转发进行合并时,所有中间提交 未标记为目标分支的引用。他们应该成为 分支还是不分支?每当你在图表中看到一条灰色的轨道,那就是 缺少ref信息。在
时空拓扑序
父母会有更复杂的情况 时间戳,它在future中相对于它的某些子级。因此, 琐碎的时间顺序并不总是有效的。而且,我们可以 也存在精度问题;如果一个人连续创建多个提交, 它们最终可能会有相同的时间戳。拓扑序 另一方面,它本身也不是最优的。如果我们有一些陈腐的呢 从未合并过的分支?他们可能会在图表的最顶端, 尽管它的承诺很古老。在
解决方案是时间排序和拓扑排序的混合。例如,我们
可以从根据时间戳对所有提交进行排序开始,然后
对Kahn算法的一些更改,以确保我们定位最早的提交
第一。在开始时按时间顺序排序,其复杂性是
O(n log n)
。在
- 项目
标签: