Git のエイリアスまとめ
Git の CLI 操作を楽にするためにエイリアスを作った話の増補版。
エイリアス一覧
コマンドの最初に git
を打つのが面倒なので、これらはすべて git のエイリアスではなく fish のエイリアス。
.config/fish/config.fish
alias g="cd (ghq root)/(ghq list | peco)"
alias s="git status"
alias a="git add ."
alias b="git branch"
alias f="git fetch origin"
alias l="git log --graph --date=short --decorate=short --pretty=format:'%Cgreen%h %Creset%cd %Cblue%cn %Cred%d %Creset%s'"
alias co="git checkout"
alias cm="git commit"
alias st="git stash"
alias stp="git stash pop"
alias pulll="git pull origin (git symbolic-ref --short HEAD)"
alias pushh="git push origin HEAD"
alias pushf="git push -f origin HEAD"
alias clean="git reset --hard HEAD"
alias undo="git reset --soft HEAD~"
alias redo="git commit -c ORIG_HEAD"
alias issue="git open --issue"
alias rebase="git rebase"
alias revert="git revert"
alias cherry="git cherry-pick"
alias cb="git checkout (string trim -l -c ' *' (git branch | peco))"
alias rb="git branch -D (string trim -l -c ' *' (git branch | peco))"
省略しただけ系
使用頻度の高いものはできるだけ短く、そうでないものは git
を省略する程度に。
alias s="git status"
alias a="git add ."
alias b="git branch"
alias f="git fetch origin"
alias co="git checkout"
alias cm="git commit"
alias st="git stash"
alias stp="git stash pop"
alias issue="git open --issue"
alias rebase="git rebase"
alias revert="git revert"
alias cherry="git cherry-pick"
別名をつけた系
pulll
については、HEAD
だとうまく取得できないことがあるので、HEAD
ではなく <branch>
を調べる。
# コミットログをいい感じに表示する
alias l="git log --graph --date=short --decorate=short --pretty=format:'%Cgreen%h %Creset%cd %Cblue%cn %Cred%d %Creset%s'"
# upstream と通信する系
alias pulll="git pull origin (git symbolic-ref --short HEAD)"
alias pushh="git push origin HEAD"
alias pushf="git push -f origin HEAD"
# ワーキングツリーをクリアする
alias clean="git reset --hard HEAD"
# 直前のコミットをundoして変更をステージに戻す
alias undo="git reset --soft HEAD~"
# 直前のコミットメッセージを利用して再コミットする
alias redo="git commit -c ORIG_HEAD"
コマンド作った系
g
の作り方はこちら。
# リポジトリを切り替える
alias g="cd (ghq root)/(ghq list | peco)"
# ブランチを切り替える
alias cb="git checkout (string trim -l -c ' *' (git branch | peco))"
# ブランチを削除する
alias rb="git branch -D (string trim -l -c ' *' (git branch | peco))"