Git エイリアスで便利にする

開発に欠かせないGit。プログラマは毎日使うのでエイリアスを設定している人が多いそうだ。alias とは「別名」という意味で、コマンドを別な文字で実行することができる。Git のサイトにも、"きにせずどんどん新しいエイリアスを作りましょう。" とあったので、やってみることにした。

Git コマンドのエイリアス設定方法

Git のエイリアスは、コマンドラインから追加できる。

# git config --golobal alias.エイリアス 元のコマンド
$ git config --global alias.co checkout

上のコマンドを実行すると、Gitの設定ファイル~/.gitconfigに、以下のように追記される。

[alias]
  co = checkout

これで、 $ git co$ git checkout ができるようになる。 ~/.gitconfigに直接書き込んでもOK。とりあえずこんな感じにしてみた。

~/.gitconfig

[alias]
  a = add
  ci = commit
  s = status
  co = checkout
  b = branch
  d = diff
  cp = cherry-pick
  l = log
  loga = log --oneline --graph --all

エイリアスは自分が使いやすく重複がなければ何でもいい。自分も使っていきながら追加・改良していきたい。検索するといろいろな人が Git のエイリアスを公開しているので参考になりそう。

checkout を co、commit を ci にしている人が多いのは、Git が広まる前に使われることが多かった SVNSubversion)という集中型バージョン管理システムの影響のよう。ci は Check In の略らしい(参考:svn commit)。

シェルのエイリアス

さらに、git 自体のエイリアスも設定可能。こちらは Git ではなくシェルの設定になるので、使っているシェルの設定ファイルに書き込む。

~/.bashrc( bash の場合)

alias g='git'

ログインシェル(ターミナルを起動したときに使われるシェル)が bash のとき、ターミナルを起動しても .bashrc は読み込まれないため、.bash_profile に以下を追記して、ログイン時に .bashrc を読み込むように設定する必要がある。

~/.bash_profile

source ~/.bashrc

ターミナルを再起動。これでエイリアスが使えるようになった。

$ g s
On branch github_auth
nothing to commit, working tree clean

すごく短くなった!

(参考)

.bash_profile は、ログイン時に読み込まれるファイル。.bashrc は、bash起動時に読み込まれるファイル。わざわざ .bash_profile から .bashrc 読み込みの設定をするくらいならはじめから全部 .bash_profile に書けばいいのではと思ったが、どうやらだめらしい。