介绍一个超有用的工具——Git-Sim: 可视化地模拟Git操作

现如今,项目的开发,离不开git。但是对于大部分的新手而言,git并不友好,常常让人感到困惑,并不知道一条命令后,会出现什么结果。

为什么会让人感到困惑呢?

  • Git 模型,包含了很多基础的概念(工作目录、暂存区、对象数据库、Git 对象、SHA-1、本地存储库、远程存储库、DAG、分支、合并等等等等)
  • 使用 Git,需要对代码版本之间,有一种感知能力
  • Git 提供的大量命令,而我们往往用到的很少

对于新手,甚至是有经验的coder,也不能100%确定特定命令的结果可能是什么。

众所周知,Git 是一个非常“安全”的工具,因为它会记录代码的所有工作,不会丢失。但新手,通常会以低水平地操作他们的数据,导致代码、数据的丢失,或错误。

我见过,有的新手,会在运行命令之前复制整个存储库,以免操作失误,丢掉重要的代码,而无法恢复。

如果可以轻松地直观地了解任何 Git 命令,是如何影响存储库的,而不中断开发工作流程,是不是很好呢?

Git-Sim 这个工具就做到了。

git-sim

在这里插入图片描述

Git-Sim

如果你是git的资深玩家,那么你可能会说,git自带的命令:-n 或是 --dry-run,可以使用户,了解到某个git命令,将如何影响存储库的状态。但你也知道,并非所有的git都用它们,而且纯文本的输出,很难对新手友好。

我们大都是视觉动物,所以Git-Sim这个工具,是一个可以从视觉方式上,在运行git命令之前,进行影响模拟。

Git-Sim: 一个用Python编写的,开源的命令行工具

例如,你想合并分支,可以使用以下命令模拟分支到活动分支的Git 合并:devmain

$ git-sim merge dev

输出:

在这里插入图片描述

例如,你可以使用以下命令将分支的git reset模拟为之前的提交:

$ git-sim reset HEAD^

输出:
在这里插入图片描述

这些示例中的重点是让 Git 用户查看这些图像,以确保他们在执行实际git merge命令之前,了解重置/合并,将如何影响他们的本地存储库。

此外,这些可视化,可以使用--animate 标志进行动画处理
(由于 Git-Sim 程序需要生成 mp4 视频作为输出而不是静态 jpg 图像,因此在进行动画处理时性能会明显变慢):

$ git-sim --animate reset HEAD^

git-sim

这些可视化,对于新手特别友好,例如git reset, git restore, git merge, git rebase, 和git cherry-pick。
尽可能地,模拟简单的命令吧,例如git add,git commit,这些都ok,从小白到大神,指日可待。

Git-Sim 目的

Git-Sim 的主要目标是快速轻松地创建和可视化 Git 命令的效果,同时最大限度地减少对开发人员工作流程的干扰。

根据开发者本人的阐述,Git-Sim在未来,还会继续:

  • 提供命令行界面,以便开发人员可以直接在本地 Git 存储库中的终端中运行 Git-Sim
  • 保持与 Git 命令(子命令和选项/标志)的并行语法,以便尽可能熟悉使用 Git-Sim
  • 高效快速,在几秒钟内生成模拟输出图像

Git-Sim 未来的更新和增强将主要围绕这些目标。

Git Sim 还能做什么?

更一般地说,Git-Sim 允许用户,以下面的形式运行终端命令:

$ git-sim [global options] [subcommand options]

[global options]适用于总体 git-sim 模拟本身,包括:

--light-mode:使用浅色模式配色方案而不是默认的深色模式。

--animate:不是输出静态图像,而是在 .mp4 视频中动画 Git 命令行为。

--reverse: 反向显示提交历史。

[subcommand options] 模拟特定于指定子命令的常规 Git 选项。

有关支持的子命令和选项的完整列表以及每个子命令的示例模拟输出,请参阅Git-Sim 自述文件命令部分。

Git-Sim 支持的命令的完整列表

以下是当前可以使用 Git-Sim 模拟的 Git 子命令列表:

  • git log
  • git status
  • git add
  • git restore
  • git commit
  • git stash
  • git branch
  • git tag
  • git reset
  • git revert
  • git merge
  • git rebase
  • git cherry-pick

如何安装和运行 Git-Sim

安装 Git-Sim

  1. 为您的操作系统安装Manim 和 Manim 依赖项
    打开:https://www.manim.community/
    选择自己的操作系统,然后下载安装
    (windows系统下,可以选择看一下,我之前介绍的包管理工具——scoop)

  2. 安装 git-sim:$ pip3 install git-sim

运行 Git-Sim:

  1. 打开命令行终端
  2. cd到项目的根目录(与 .git 文件夹同级)
  3. 以这种形式,运行 Git-Sim 命令:git-sim [global options] <subcommand> [subcommand options]
    这将使用默认设置执行 Git-Sim,这将创建并自动打开一个.jpg模拟相关 Git 操作的图像。

请注意,输出图像文件将在项目的新子目录中创建,路径为“./git-sim_media/images/”

Git-Sim 是如何工作的?

Git-Sim 是一个简单的 Python 包,它使用Manim(数学动画) Python 库。

Manim 最初由 Grant Sanderson 编写,他是3blue1brown数学频道的热门内容创建者。Grant 编写了 Manim,以使用 Python 代码轻松创建解释性数学视频。这些视频通常需要可视化图形、几何图形和方程式。最终,Grant 的原始代码库被分叉,现在作为 Manim“社区”版本进行维护。

Git-Sim 使用 Manim 绘制圆圈、箭头、文本、分支名称和引用,它们代表存储库中发生的 Git 对象和操作。

但是,在画任何东西之前,Manim 需要知道要画什么。在这种情况下,Git-Sim 使用GitPython库查询您的 Git 存储库。这使 Python 代码能够与您的 Git 存储库交互,以识别要在动画中绘制的提交列表和相关信息。

目前,Git-Sim 不会对您的 Git 存储库执行任何“写入”操作,尽管这可以通过 GitPython 实现。Git-Sim 只会从您的本地存储库中读取信息以生成模拟的 Git 命令输出。

快开始使用吧~~~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

司镜233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值