HOWTO · Git

Git リポジトリを視覚化する

この記事では、リポジトリを視覚化する方法を説明します。git log コマンドを使用して、リポジトリの地形を確認します。

この記事では、リポジトリを視覚化する方法を説明します。git log コマンドを使用して、リポジトリの地形を確認します。

Git リポジトリを視覚化する

Git を使用するほとんどの開発者は、ほとんどの時間を bash ターミナルで過ごします。簡単な git log コマンドですべてのコミットが一覧表示されます。

ただし、リポジトリのメンタルモデルを開発するのは難しいでしょう。他の人があなたのワークフローを理解するのが難しいと感じるかもしれません。

幸い、メソッドを使用してリポジトリを視覚化できます。これについては後ほど説明します。

以下の例では、git log --oneline --all を使用して、リポジトリの履歴を確認しています。

pc@JOHN MINGW64 ~/Git (main)
$ git log --oneline --all
e923721 (refs/stash) WIP on main: 78129a6 Revert "$git status"
032ee0a index on main: 78129a6 Revert "git status"
78129a6 (HEAD -> main, New_Branch, Last_Branch, Branch1) Revert "$git status"
195e5c3 git status
7b19db4 first commit
b2f7710 (origin/main) Initial commit

上記は単純な平坦化されたビューにすぎません。 --graph 引数を追加して、見やすくすることができます。

次に、コマンドは git log --oneline --all --graph を読み取る必要があります。

例:

pc@JOHN MINGW64 ~/Git (main)
$ git log --oneline --all --graph
*   e923721 (refs/stash) WIP on main: 78129a6 Revert "git status"
|\
| * 032ee0a index on main: 78129a6 Revert "git status"
|/
* 78129a6 (HEAD -> main, New_Branch, Last_Branch, Branch1) Revert "git status"
* 195e5c3 $git status
* 7b19db4 first commit
* b2f7710 (origin/main) Initial commit

見た目は良くなりますが、ブランチとタグラベルをさらに識別できます。

次のコンテキストでは、--decorate 引数を使用します。

git log --oneline --all --graph --decorate

--color 引数を追加して、次のコンテキストでレイアウトを改善することもできます。

git log --oneline --all --graph --decorate --color

リポジトリを視覚化したいときはいつでも入力するのはかなり長いコマンドです。以下に示すように、コマンドにエイリアスを割り当てることで、自分で簡単にできます。

以下の例では、git log --oneline --all --graph --decorate --color コマンドにエイリアス glt を指定します。

pc@JOHN MINGW64 ~/Git (main)
$ alias glt='git log --oneline --decorate --graph --all'

エイリアスを使用してコマンドを実行してみましょう。

pc@JOHN MINGW64 ~/Git (main)
$ alias glt
alias glt='git log --oneline --decorate --graph --all'

pc@JOHN MINGW64 ~/Git (main)
$ glt
*   e923721 (refs/stash) WIP on main: 78129a6 Revert "$git status"
|\
| * 032ee0a index on main: 78129a6 Revert "$git status"
|/
* 78129a6 (HEAD -> main, New_Branch, Last_Branch, Branch1) Revert "$git status"
* 195e5c3 $git status
* 7b19db4 first commit
* b2f7710 (origin/main) Initial commit