わりとよく使う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 %"