エイリアス登録しておくと便利なGitコマンドまとめ


わりとよく使うGitのコマンドはエイリアスに登録しておくと便利なので、普段使う頻度が多いコマンドをまとめる
今回はmacのshell(zsh)に登録する方法を使う。
git ailiasに登録したい人はこちらの記事がおすすめ。
https://qiita.com/peccul/items/90dd469e2f72babbc106

エイリアス登録方法

vi ~/.zshrc

でviで開いて、

alias g-c="git clone"

と登録したいエイリアス名と実際に動くコマンドを設定する。

引数を持ったエイリアスを作る

alias g-c="(){git clone $1}"

このようにすれば引数を持ったエイリアスも可能

ailiasを使うとき

g-c https://github.com/hogehoge/fugafuga.git

本題のよく使うエイリアスに登録しているgitコマンド

git stash系

ローカルで開発してたけどまだコミットするまでソース綺麗にかけてない。でもバグ修正の依頼来ちゃった。一度どっかに今の状態避難させたい。
そんな時使う。
https://qiita.com/chihiro/items/f373873d5c2dfbd03250

alias g-s="git stash" //一時退避
alias g-s-l="git stash list" //一時退避中のリスト
alias g-s-a="git stash apply stash@{0}" //一時退避している最新のものに戻す

git log系

過去のcommitを探したい時。期間で絞ったり、キーワード検索したり。
他にもgit logはオプションが豊富なので興味ある人は色々検索するとよい。

alias g-l-s='(){git log --since="$1"}' //日付以降で絞る 
alias g-l-u='(){git log --until="$1"}' //日付以前で絞る
alias g-l-su='(){git log --since="$1" --until="$2"}' //期間指定で絞る
alias g-l-g='(){git log --grep="$1"}' //キーワードで絞る
alias g-l-a="git log --all" //全てのブランチのログを表示

git branch系

マージ済のブランチを一括削除したい。まだmasterにもdevelopにもマージされていない謎ブランチを洗い出したい。

//ローカルでマージ済のブランチを表示
alias g-b-m="git branch --merged master | grep -vE '^\*|master$|develop$'"
//ローカルでマージ未のブランチを表示
alias g-b-nm="git branch --no-merged master | grep -vE '^\*|master$|develop$'"
//ローカルでマージ済のブランチを削除
alias g-bd-m="git branch --merged master | grep -vE '^\*|master$|develop$' | xargs -I % git branch -d %" 
//リモートでマージ済のブランチを表示
alias g-rb-m="git branch -r --merged master | grep -v -e master -e develop"
//リモートでマージ未のブランチを表示
alias g-rb-nm="git branch -r --no-merged master | grep -v -e master -e develop"
//リモートでマージ済のブランチを削除
alias g-rbd-m="git branch -r --merged master | grep -v -e master -e develop | sed -e 's% *origin/%%' | xargs -I% git push --delete origin %"