LoginSignup
3
2

【Git】コンソール上にgitkコマンドで表示されるようなヒストリーを表示する

Posted at

1. はじめに

突然だが、 gitk コマンドを実行したことはあるだろうか?
あのコマンドはこれまでどんな作業をしてきたのかを、お手軽かつ俯瞰的に把握するのに便利なのだ。
ただ、別ウィンドウが立ち上がってしまい、そのウィンドウを閉じないと次のコマンドが実行できないようになっているのはいただけないという気持ちもある。
そこで、コンソール上に gitk で表示されるツリーが表示されるような Alias を組んでみた。
するとどうだろう、 GUI から Git コマンドを実行するつもりのない自分にとって、コンソールにあのヒストリーが出力されるというのはとても快適だったのだ。
同じような感受性を持った人が一人くらいはいるだろうと思ったので、この度は作った Alias をこの場を借りて紹介してみたいと思う。

2. 動作環境

  • Git がインストールされ、 PATH が通っていること
    (gitk は Git の標準コマンドのはずなので、 OS は関係ないはず。)

3. 手順

3.1. ユーザーディレクトリ直下に .bashrc ファイルを配置する。(.bashrc なんて知らないよって人限定)

「もう配置済みだよ」って人はここはスキップして構わない。
そんなもの知らないよって人のために一言だけ説明すると、 bash を使うための設定ファイルのようなものだ。
.bashrc で Alias やよく使う処理群をまとめた関数なんかを書いておくと、作業が驚くほど捗る。
初めて知った人も、知ってたけど面倒くさがっていた人も、これを機に重い腰を上げてみてくれ。
(Linux 環境であればデフォルトで配置されている可能性も大いにあるが…)

.bashrc の配置先はユーザーディレクトリの直下でなければならない。
万が一違うディレクトリに配置してしまうと、どんなに作りこんだ設定も有効にならないから注意してほしい。

3.2. コンソール上にgitkで表示されるようなツリーを表示するコマンドを .bashrc に追記する

ここまで来たらやることは簡単だ。
.bashrc のどこでもいいので、以下の Alias を追記すれば下準備は完了だ。
Alias 名はなんでもいいが、自分は consol gitk を短縮して cgitk という名前で登録している。
真似してもらっても構わないし、小一時間悩むのもまた一興だろう。

alias cgitk='git log --all --color --graph --pretty=format:"%x09%C(yellow dim)%h%Creset %C(green dim)%cd%Creset %C(cyan dim)%an%Creset %s %C(red)%d%Creset" --date=format:"%Y/%m/%d %H:%M:%S"'

上のまま使ってももちろん問題ないのだが、気になる人がいれば配色や出力フォーマットをカスタマイズするのも楽しい時間となるだろう。
一例として、 %C(yellow dim) や %C(green dim) など、%C(...) で囲まれた箇所で色を指定している。
詳細は以下の公式ページを確認してもらえればと思うが、わかりやすく見栄えが変わるので、一番気軽に楽しめるカスタマイズといえるかもしれない。
https://git-scm.com/docs/pretty-formats

3.3. 実行してみる

Alias が登録できたところで早速実行してみよう。
まず初めに、 Git Bash を立ち上げなおすか、 source ~/.bashrc を実行して .bashrc を読み込んでもらおう。
そのあとは cgitk と打ち込んで Enter キーを押すだけだ。

汚いコミットログは見なかったことにしてもらうとして、以下のような出力になる。
image.png

おわりに

最後まで読んでいただきありがとう。
個人的に気に入っているカスタマイズなので、この場を借りて紹介させてもらった。
読者の一人にでもこのカスタマイズを気に入ってもらえたのであれば嬉しい限りだ。
それではまたどこかでお会いしよう。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2