分散型バージョン管理システム「Git」。Linuxカーネルソースコードを管理するために開発されただけあって出来ないことはないというほど多機能なツールですが、反面オプションは複雑で使いこなすのにスキルが必要であるといわれています。
そこで参考にしたいのが複雑なGitを人間らしく自然に使いこなすための便利なエリアス集「Human Git Aliases」です。
カナダの開発者George Gritsouk氏によって考案されたもので「ci = commit」式にタイプ数の削減を目的としたものではなく、本当の言葉を使い、Gitをより人間らしく扱えるようにするためのものとして位置づけられています。
Human Git Aliasesは.gitconfigのエイリアスとして設定します。例えばリストを操作するコマンドは以下のように複数形を利用して統一的に定義されています。
branches = branch -a tags = tag stashes = stash list
また操作を戻すためのコマンドも分かりやすい言葉で言い換えられています。
unstage = reset -q HEAD -- discard = checkout -- uncommit = reset --mixed HEAD~ amend = commit --amend
操作を完全になかったことにするための強力なエイリアスも存在します(!で始まるコマンドはシェルコマンドの実行を意味しています)。
nevermind = !git reset --hard HEAD && git clean -d -f
まただれがいつどのような変更を行ったかを確認する"graph"や、
graph = log --graph -10 --branches --remotes --tags --format=format:'%Cgreen%h %Creset• %<(75,trunc)%s (%cN, %cr) %Cred%d' --date-order
commit前に変更点を確認する"precommit"等便利なエイリアスがそろっています。
precommit = diff --cached --diff-algorithm=minimal -w
エイリアスの完全なリストはGitHubにて公開されています。Gitを使っている開発者は参考になる部分が多い情報ではないでしょうか。