ソフトウェア

Gitコマンドの結果一体どうなるのかをすばやくアニメーション画像を生成して視覚的にわかりやすく見せてくれる「git-sim」


プログラマー育成を支援するInitial Commitが、ローカルリポジトリにおけるGitの動作をシミュレート可能なコマンドラインツール「git-sim」を2023年1月22日にリリースしました。git-simを使うことで、Gitコマンドがリポジトリに及ぼす影響を視覚化した画像やアニメーションを生成できます。

git-sim - Visually simulate Git operations in your own repos with a single terminal command.
https://initialcommit.com/tools/git-sim

GitHub - initialcommit-com/git-sim: Visually simulate Git operations in your own repos with a single terminal command.
https://Github.com/initialcommit-com/git-sim

Initial Commitは「Gitは内部こそシンプルな設計ですが、新しい開発者が使い方や理解を学ぶ際に混乱しやすいことで知られています」と述べています。初心者がGitを敬遠してしまう理由として、Initial Commitは「Gitのモデルの根底にある概念が幅広いから」「Gitに汎用性を持たせるためには状況認識が必要だから」「Gitにはコマンドが非常に多く存在するから」を挙げています。


特に初心者の場合、「コマンドを間違えてしまうと、Gitでバージョン管理をしているリポジトリをロストしていまうのではないか?」という不安を抱えて作業していることがよくあるとのこと。この不安は要するに「特定のGitコマンドを実行すると自分のローカルリポジトリにどのような影響があるのかを正確に理解していないから」だとInitial Commitは述べています。

git-simはPythonで記述されたコマンドラインツールで、Gitコマンドがローカルリポジトリに与える影響を画像やアニメーションで生成できるツールで、Gitコマンドが及ぼす影響を可視化してくれます。git-simをインストールするには、数学アニメーションライブラリであるManimとその依存関係をインストールする必要があります。

Manimをインストールするには、まずPythonFFmpegをインストールします。Windowsの場合、コマンドプロンプトを開いて以下のWingetコマンドを入力。PythonとFFmpegをインストールしたら環境変数でパスを通してからPCを再起動してください。

winget install python

winget install ffmpeg


次にManimをインストール。
python -m pip install manim


続いて、Manimでのレンダリングに必要なLaTeXをインストールするため、推奨されるLaTeXディストリビューションであるMiKTeXをインストールします。
winget install miktex


最後にgit-simを以下のコマンドでインストール。
pip3 install git-sim


git-simを使うには、コマンドプロンプトでローカルリポジトリにディレクトリ移動し、git-simコマンドを入力します。
cd <ローカルリポジトリのディレクトリ>


例えば「git-sim log」では、最新5つのコミットが表示されます。


git-sim status」では、最新5つのコミットのほか、作業ディレクトリ、ステージング領域、追跡されていないファイルの状態が表示されます。


git-sim branch <新規作成したブランチの名前>」では新しいブランチを作成した場合をシミュレートします。


git-sim merge <ブランチ名>」でアクティブなブランチにマージする場合の様子をシミュレートできます。以下の画像をクリックすると、アニメーションで再生することが可能です。

この記事のタイトルとURLをコピーする

・関連記事
バージョン管理システム「Git」にセキュリティ上の脆弱性、Git for Windowsユーザーやマルチユーザー環境利用者が取るべき対処法は? - GIGAZINE

バージョン管理システム「Git」がどのように発展してきたのかを可視化した「Git: An Interactive Development History」 - GIGAZINE

Gitの操作を間違ってしまった時に簡単に元に戻せる「git undo」を使う方法 - GIGAZINE

バージョン管理システム「Git」の使い方はどのように教えるのが良いのか? - GIGAZINE

バージョン管理ツール「Git」は一体どういうものなのか? - GIGAZINE

in ソフトウェア, Posted by log1i_yk

You can read the machine translated English article here.