git のエイリアス紹介
TL;DR;
世の中のエンジニアのalias設定 - Qiita の記事がqiitaでバズっていたので自分の gitの エイリアス設定を整理, 見直しがてら公開してみようと思った。
項目ごとに簡単なコメントもつけているので, 参考になるものがあったらどうぞ使ってください。
参考元
この辺りを参考にして人のdotfilesとかを見て適宜付け足していった気がする。
一覧
alias一覧
最近は使わなくなったが alias設定した当初は, これを使ってちょこちょこエイリアスを確認していた。
# aliasの一覧を表示 alias = !git config --get-regexp '^alias\\.' | sed 's/alias\\.\\([^ ]*\\) \\(.*\\)/\\1\\\t => \\2/' | sort
省略形
# abbr # interactive にadd a = add -p # 作業中のものを 全部addして status確認 aa = !git add -A && git s b = branch # 最新のcommit とcommit hashをあわせて表示 bb = branch -vv c = checkout cam = commit --amend cm = commit -m cp = cherry-pick s = status --short --branch ss = status sh = show
diff系
# diff d = diff d1 = diff HEAD~ # staging(addした) diffを確認 dc = diff --cached # 単語単位でdiffを確認 df = diff --word-diff
log系
#log l = log # merge履歴などをグラフィカルに表示 lt = log --graph -n 20 --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(green)- %an, %cr%Creset' # git log + commit ごとの diff --stat ll = log --stat --abbrev-commit # 直近のcommit 確認用 lo = log --oneline -n 20 # head commit log ls = log --stat --abbrev-commit -n 1 # head commit log + diff --stat lss = show HEAD
tig を使うほどでもない時に使う
wip系
たしか自作。割り込みのタスクが入ったときなどに現在の作業状況をwipでcommitするのに使う。
# wip wip = !git add -A && git commit -m 'wip' unwip = reset --soft HEAD~
stash系
# stash st = stash sp = stash pop
fix系
# fix amend = commit --amend -C HEAD unstage = reset -q HEAD -- # 編集中のfileを HEADと同じ状態に戻す discard = checkout -- uncommit = reset --mixed head~
hub系
hub はgithub とcli連携するためのtool https://github.com/github/hub
## hub alias # github でリポジトリを開く open = !hub browse # 自分が作ったPRを開く byme = !hub browse -- pulls/$(git config user.username) # 自分にassignされたPRを開く tome = !hub browse -- pulls/assigned/$(git config user.username) # 現在いるブランチのPull Requestを確認する see = !hub browse -- pull/$(git symbolic-ref --short HEAD) # 指定したcommitを追加した PRを開く openpr = "!f() { hub browse -- `git log --merges --oneline --reverse --ancestry-path $1...master | grep 'Merge pull request #' | head -n 1 | cut -f5 -d' ' | sed -e 's%#%pull/%'`; }; f"