gitのお気に入りコマンドなど

2013-08-08 09:06 JST by kcrt

 

お気に入りのgitの設定およびコマンドです。

git status -sb

[alias]
st = status -sb

と登録しておくのがお勧めです。git status --short --branchの省略形です。

通常の場合、

$ git status

を実行すると、

gitstatus

と、本来必要である情報以上にたくさんのメッセージが表示されます。もちろん、なれないうちは大変助かるメッセージではありますが、慣れてくると冗長すぎてむしろ見通しの悪さを感じてきます。

$ git status -sb

では、

gitstatussb

と、本来必要な情報を簡潔に表示してくれます。

git 1.8.4以上をお使いならばGitの更新ログにあるようにstatus.shortとstatus.branchというconfigがありますのでそちらを利用するのもお勧めです。

pager = less -r

(参考: どせいけいさんきより)

git diffなどの結果は、core.pagerで設定したコマンドに送られます。現在の設定が不明な場合は

$ git config --get core.pager

で調べることができます。おそらく、設定していない場合はlessが標準のページャとして使用されていると思います。

標準のlessは長い行を折り返してくれないので、

gitless

こんなかんじで、長い文は右側にはみ出してしまって見通しが悪いです。

.gitconfigに

[core]
pager = less -r

と設定することで、

gitlessr

長い行は自動的に折り返してくれるので見通しが良くなります。

git diff --word-diff

長い行も一度に表示できるようになって少し見通しが良くなったとはいえ、上記のdiffでは結局どこが変わったのか調べるのはかなり大変です。

$ git diff --word-diff

を使うと

gitworddiff

変更になった部分だけをハイライトして表示してくれます。知っていると便利なコマンドです。

git commit -v

コミットログの記載画面にコミット内容を表示することができます。

gitcommitv

こんな感じでコミットログ記載部分の下部に今回のコミットではどの部分が変更されたかが表示されます。

git log --graph

僕のおすすめは

$ git log --graph --date=short --pretty=format:'%Cgreen%h %cd %Cblue%cn %Creset%s'

です。

gitloggraph

こんなかんじで履歴をコンソール上でグラフィカルに表示してくれます。いろいろ設定オプションがありますが僕は上記を使っています。

もちろん、vim上でgregsexton/gitvを使うという手もあります。