今やソフトウェア開発に無くてはならい存在となったGitですが、多機能で複雑なコマンドを使いこなすにはかなりの経験値が必要です。また、うっかり間違ったコマンドを実行して、リポジトリを壊してしまわないか不安に思ってしまう開発者の方も多いかもしれません。
本日紹介する「git-sim」は、そのような開発者の方におすすめの、Gitコマンドの視覚化ツールです。
git-simによって、実際にGitを実行する前にその効果を理解することができ、作業ディレクトリやリポジトリが予期せぬ状態になる事を防ぐことができます。Gitコマンドのビジュアライゼーション(jpgまたはmp4)を共有することができるので、問題の防止にも役立てることができます。
以下のような特徴を持っています。
- ターミナルでgit-simコマンドを実行すると、Gitコマンドを視覚化した画像が作成される。
- 対抗コマンドはlog、status、add、restore、commit、stash、branch、tag、reset、revert、merge、rebase、cherry-pick
- animateフラグを使用すると、静止画像の代わりにアニメーションビデオ(.mp4)を生成できる。
- ダークモード(デフォルト)とライトモードが選択可能。
- アニメーションのみ。カスタムブランドによるイントロ/アウトロシークエンスの追加。
- アニメーションのみ アニメーションの速度を速くしたり遅くしたりすることも可能。
以下使用方法を説明します。
git-simを使用する
git-simを使用するには、Python 3.7以降の環境とPip、Manimが必要です。
Manimの依存関係とManim自体をインストールした後、以下のコマンドでインストールします。
$ pip3 install git-sim
macOSの場合はシステムのPythonを使わず、Homebrew等をつかって、Python環境を準備することが推奨されています。
インストールが完了したら、任意のGitリポジトリに移動します。例えば現在のリポジトリの状態を確認したい場合、以下のように実行します。
git-scm status
少し待つと画像ファイルが作成され、macOSの場合はプレビューアプリで自動的に表示されます。
▲リポジトリのコミットログが上部に表示され、追跡されていないファイルや、変更されたファイル、ステージングされたファイルがグループ毎に一覧表示されます。
addコマンドを実行してみます。
git-scm add json2.rb
追加したjson2.rb
がステージングエリアに移動した事がわかります。
このようにGitのさまざまなコマンドがどのように動作するのか、わかりやすく確認することができます。
まとめ
git-simを使うとGitコマンドを実際に実行することなく、リポジトリの状態がどのように変わるのかを理解することができます。Gitをターミナルから使っている場合は特に便利なツールだと思います。