マージ済ブランチを消すコマンドをつくった
今までマージ済ブランチを消す時、git branch --merged
してから1個1個git branch -d xxxx
とか面倒くさいことしてたので、マージ済ブランチを表示して確認後にyesと打てばまとめて消せるようにした。
但し、originとdevelopは消さないようにしてる。
function git-delete-merged() {
merged=`git branch --merged | egrep -v '\*|develop|master'`
if [[ $merged = "" ]]; then
echo 'No merged branch.'
return 0
fi
echo -en "$merged\\ndelete? (y)es/(n)o: "
read ans
if [[ $ans =~ ^y(es)?$ ]]; then
echo "$merged" | xargs git branch -d
else
echo 'Cancelled.'
fi
}
alias gdm='git-delete-merged'
参考
ついでに
今までGitのサブコマンドはgitconfig
のaliasに定義してたけど、git xx
って打つのもちょっと手間なのでalias整理した!
alias ga='git add'
alias gap='git add -p'
alias gb='git branch'
alias gcm='git commit -v'
alias gca='git commit --amend'
alias gco='git checkout'
alias gcof='git-checkout-force'
alias gcp='git cherry-pick'
alias gd='git diff'
alias gdm='git-delete-merged'
alias gl="git log --pretty='%h %ci %s %cn'"
alias gpl='git pull'
alias grb='git rabase'
alias grbi='git rabse -i'
alias grba='git rabse --abort'
alias grbc='git rabse --continue'
for n in $(seq 10); do
alias grbi$n="git rebase -i HEAD~$n"
done
alias grs='git reset'
for n in $(seq 10); do
alias grs$n="git reset HEAD~$n"
done
alias gs='git status'
alias gps='git push'
まだ慣れてなくてすぐgit
って打っちゃうので、早く身体に覚えさせたい。