Git リポジトリを視覚化する
この記事では、リポジトリを視覚化する方法を説明します。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
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn