#git-history #git-branch #git #graph #model #applications #git-repository

bin+lib git-igitt

交互式 Git 终端应用程序,用于浏览和可视化按您的分支模型排列的 Git 历史图

2 个版本

0.1.18 2023年1月15日
0.1.17 2022年11月10日
0.1.16 2022年11月10日

#2881 in 命令行工具

MIT 许可证

160KB
4K SLoC

git-igitt

Tests GitHub Crate MIT license

交互式 Git 终端应用程序,以易于理解的方式浏览和可视化按照不同分支模型排列的 Git 历史图。

git-igitt-animation

git-igitt 基于 git-graph。下面的图像展示了使用 GitFlow 分支模型的一个示例,用于比较 git-graph(最左侧)生成的图与其他工具和 Git 客户端生成的图。

由于 GitFlow 的复杂性,因此支持任何其他分支模型,包括用户自定义的模型。

Graph comparison between tools

由你自己决定哪个图最容易理解。😎

⚠️ 该项目还处于非常初期的阶段。有关报告问题,请参见此处 ⚠️

功能

  • 在终端中直接查看结构化图
  • 交互式浏览 Git 历史并查看提交和差异
  • 预定义和自定义分支模型和着色
  • 查看旧的和新的文件版本,无需检出,带有语法高亮!

安装

预编译的二进制文件

  1. 下载您平台上的最新二进制文件[链接]
  2. 解压缩到某个位置
  3. 可选:将目录 git-igitt 添加到您的 PATH 环境变量中

使用 cargo

如果您已安装 Rust,可以使用 cargo 进行安装

cargo install git-igitt

用法

对于基本用法,运行以下命令

git-igitt

注意:git-graph 需要位于 PATH 中,或者您需要使用 git-graph 的完整路径

C:/path/to/git-igitt/git-igitt

如果 git-igitt 在 Git 仓库文件夹内启动,则将显示此仓库。否则,将出现一个文件对话框,让您选择一个仓库。

获取帮助

要查看应用程序中的 快捷键 和帮助,请按 HF1

要查看描述所有选项的完整 CLI 帮助,请使用

git-igitt -h
git-igitt --help

分支模型

默认情况下,git-igitt假定使用git-graph分支模型。要更改应用程序中的分支模型,请按M。然后您可以使用Enter设置当前会话的模型,或者使用P永久为仓库设置模型。

或者,用特定的模型启动git-graph,例如simple

git-igitt --model simple

或者在当前路径下永久设置仓库的模型

git-igitt model simple

有关分支模型样式和提交格式化的详细信息,请参阅git-graph 手册

自定义分支模型

分支模型是通过配置APP_DATA/git-graph/models目录中的文件来配置的(git-igitt与git-graph共享这些文件)。

  • Windows: C:\Users\<user>\AppData\Roaming\git-graph
  • Linux: ~/.config/git-graph
  • OSX: ~/Library/Application Support/git-graph

models目录中的任何.toml文件的文件名可以在应用程序中选中,或者使用参数--model使用,或者通过子命令model使用。例如,要使用定义在my-model.toml中的分支模型启动,请使用

git-igitt --model my-model

有关如何创建自己的分支模型的详细信息,请参阅git-graph手册的自定义分支模型部分。

限制

  • 合并提交的摘要(即消息的第一行)不应修改!git-graph需要它们来对合并分支进行分类
  • 目前,只能浏览历史记录。到目前为止,尚未实现Git命令。
  • 仅支持主要远程仓库origin
  • 由于底层库libgit2中缺少功能,目前不支持“章鱼合并”(即不超过2个父级)
  • 由于底层库libgit2缺少功能,不支持浅克隆
  • 对于大型文件,语法高亮可能会很慢(通过输入S来打开/关闭)

贡献

请在问题跟踪器中报告任何问题和功能请求。

欢迎提交拉取请求。对于主要更改,请首先打开一个问题来讨论您想要更改的内容。

依赖关系

~18–29MB
~489K SLoC