Gitコマンドにエイリアスをつけて効率化を図ろう!
はじめに
エイリアスをつけて自分なりにカスタマイズすることで作業の効率が格段に上がります。
自分の設定を例に紹介します。
globalで設定するのでリポジトリ関係なく使えます。
ご自身の手癖にあったエイリアスをつけていただければと思います!
エイリアスをつけるメリットとデメリット
- メリット
- 自分の解釈で命名できるのでわかりやすい
- タイピングが減るので速度が上がる
- 試行錯誤するのがたのしい
- デメリット
- コマンドがより安易に実行できてしまうので注意が必要
- 極端な別名をつけてしまうと本来のコマンドを忘れてしまうかも?
- コマンドを他の誰かに教えるときに困るかも
- 画面共有時、何をしているのか見ている人がわからなくなる場合がある
エイリアスの設定方法
例 : git status
を git st
で見られるようにしたい
git config --global alias.st "status"
git config --global alias.エイリアスとしたいコマンド "設定したいコマンド"
git config --global alias.st "status"
例 : git log --oneline
を git o
で見られるようにしたい
git config --global alias.o "log --oneline"
最初に設定しておきたいエイリアス
一番最初に設定するおすすめのエイリアス
git config --global alias.al "config --get-regexp ^alias\."
設定したエイリアスの一覧を表示できるので、エイリアス忘れちゃった場合に確認する用ですね。
設定一覧
branch
命名例 : b
git config --global alias.b "branch"
checkout
命名例 : ch
git config --global alias.ch "checkout"
checkout -b
命名例 : chb
git config --global alias.chb "checkout -b"
branch -d
命名例 : bd
git config --global alias.bd "branch -d"
log --oneline
命名例 : o
git config --global alias.o "log --oneline"
log --oneline -10
命名例 : o10
git config --global alias.o10 "log --oneline -10"
-20とか-30とか、追加で入れておいてもいいかもしれません。
私は 1 ~ 10、10 ~ 100までいれてます
alias.o1 log --oneline -1
alias.o2 log --oneline -2
alias.o3 log --oneline -3
alias.o4 log --oneline -4
alias.o5 log --oneline -5
alias.o6 log --oneline -6
alias.o7 log --oneline -7
alias.o8 log --oneline -8
alias.o9 log --oneline -9
alias.o10 log --oneline -10
alias.o20 log --oneline -20
alias.o30 log --oneline -30
alias.o40 log --oneline -40
alias.o50 log --oneline -50
alias.o60 log --oneline -60
alias.o70 log --oneline -70
alias.o80 log --oneline -80
alias.o90 log --oneline -90
alias.o100 log --oneline -100
log --oneline --graph
命名例 : og
git config --global alias.og "log --oneline --graph"
こちらも同様に追加でオプションを付けています。
alias.og1 log --oneline -1 --graph
alias.og2 log --oneline -2 --graph
alias.og3 log --oneline -3 --graph
alias.og4 log --oneline -4 --graph
alias.og5 log --oneline -5 --graph
alias.og6 log --oneline -6 --graph
alias.og7 log --oneline -7 --graph
alias.og8 log --oneline -8 --graph
alias.og9 log --oneline -9 --graph
alias.og10 log --oneline -10 --graph
alias.og20 log --oneline -20 --graph
alias.og30 log --oneline -30 --graph
alias.og40 log --oneline -40 --graph
alias.og50 log --oneline -50 --graph
alias.og60 log --oneline -60 --graph
alias.og70 log --oneline -70 --graph
alias.og80 log --oneline -80 --graph
alias.og90 log --oneline -90 --graph
alias.og100 log --oneline -100 --graph
status
命名例 : st
git config --global alias.st "status"
fetch
命名例 : f
git config --global alias.f "fetch"
add -A
命名例 : ad
git config --global alias.ad "add -A"
commit -m
命名例 : cm
git config --global alias.cm "commit -m"
push origin head
命名例 : poh
git config --global alias.poh "push origin head"
stash
命名例 : sta
git config --global alias.sta "stash"
stash pop
命名例 : stp
git config --global alias.stp "stash pop"
merge
命名例 : mr
git config --global alias.mr "merge"
commit --amend --no-edit
命名例 : can
git config --global alias.can "commit --amend --no-edit"
reset --hard head
命名例 : rhh
調査とかでコードを書き換えたりしたけど、その変更が要らなくなった時に
ブランチをheadに戻すことができます
git config --global alias.rhh "reset --hard head"
@{-1}をつかったエイリアス
@{-1}
はひとつ前にチェックアウトしていたブランチを意味します。
これを使ったコマンドがとても便利です。
ch @{-1}
命名例 : chp
git config --global alias.chp "checkout @{-1}"
mr @{-1}
命名例 : mrp
修正ブランチからマージしたいブランチに移動した後にgit mrp
と打つだけでマージできます。
git config --global alias.mrp "merge @{-1}"
bd @{-1}
命名例 : bdp
git config --global alias.bdp "branch -d @{-1}"
全体を通した使用イメージ
メインブランチから修正ブランチにチェックアウトする。
[main] git chb add-init
修正ブランチでコミットする。
[add-init] git cm "add: initialize"
メインブランチに戻る
[main] git chp
マージする
[main] git mrp
プッシュする
[main] git poh
不要となった作業ブランチを削除する
[main] git bdp
おまけ
shortlog -nse --no-merges --author="名前"
命名例 : ucl
作業中のリポジトリでマージコミットを除いたコミット数をユーザーごとに表示するものに
--author
オプションを付けることで自分だけに絞ることもできます。
コミットの粒度が意識できているかを確認したくなるのでエイリアスをつけています。
git config --global alias.ucl "shortlog -nse --no-merges --author='名前'"
Discussion