開発に欠かせないGit。プログラマは毎日使うのでエイリアスを設定している人が多いそうだ。alias とは「別名」という意味で、コマンドを別な文字で実行することができる。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 が広まる前に使われることが多かった SVN(Subversion)という集中型バージョン管理システムの影響のよう。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
すごく短くなった!
(参考)
- 「.bashrc」と「.bash_profile」の違い -「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
- Linux: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社
- 新しいLinuxの教科書
.bash_profile は、ログイン時に読み込まれるファイル。.bashrc は、bash起動時に読み込まれるファイル。わざわざ .bash_profile から .bashrc 読み込みの設定をするくらいならはじめから全部 .bash_profile に書けばいいのではと思ったが、どうやらだめらしい。