alias gdc='git diff --cached'
function gdm { gd "${1:-origin}".. }
compdef _git gdm=git-diff
+function gdf { gd $(git merge-base --fork-point $1) }
+compdef _git gdf=git-diff
alias gc='git commit -v'
alias gcs='git commit -v --squash'
alias grset='git remote set-url'
alias grup='git remote update'
-alias gb='git branch -vv'
-alias gba='git branch -a'
-alias gbm='git branch --merged'
-alias gbdm='git branch --merged | grep -ve "\*" -e "master" | xargs git branch -d'
+alias gb='git --no-pager branch -vv'
+alias gbv='git --no-pager branch -vv'
+alias gba='git --no-pager branch -a'
+alias gbm='git --no-pager branch -vv --merged'
+alias gbdm='git branch --merged | grep -ve "\*" -e "\+" -e "master" | xargs git branch -d'
+alias gsu='git branch --set-upstream-to'
+alias gsum='git branch --set-upstream-to=origin/HEAD'
+
+alias gwl='git worktree list'
+function gwa { git worktree add wt/$1 $1 }
+compdef _git gwa='_git_commits'
alias gcl='git config --list'
alias gcp='git cherry-pick'