💡

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))"