1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-12-18 10:22:00 +00:00

feat(git): add develop branch name detection (#9881)

This commit is contained in:
Max Eisner 2021-08-10 16:31:49 +02:00 committed by GitHub
parent 9c34c359c4
commit ab58594173
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 20 deletions

View file

@ -23,7 +23,7 @@ plugins=(... git)
| gb | git branch | | gb | git branch |
| gba | git branch -a | | gba | git branch -a |
| gbd | git branch -d | | gbd | git branch -d |
| gbda | git branch --no-color --merged \| command grep -vE "^(\+\|\*\|\s*($(git_main_branch)\|development\|develop\|devel\|dev)\s*$)" \| command xargs -n 1 git branch -d | | gbda | git branch --no-color --merged \| command grep -vE "^(\+\|\*\|\s*($(git_main_branch)\|$(git_develop_branch))\s*$)" \| command xargs -n 1 git branch -d |
| gbD | git branch -D | | gbD | git branch -D |
| gbl | git blame -b -w | | gbl | git blame -b -w |
| gbnm | git branch --no-merged | | gbnm | git branch --no-merged |
@ -50,7 +50,7 @@ plugins=(... git)
| gclean | git clean -id | | gclean | git clean -id |
| gpristine | git reset --hard && git clean -dffx | | gpristine | git reset --hard && git clean -dffx |
| gcm | git checkout $(git_main_branch) | | gcm | git checkout $(git_main_branch) |
| gcd | git checkout develop | | gcd | git checkout $(git_develop_branch) |
| gcmsg | git commit -m | | gcmsg | git commit -m |
| gco | git checkout | | gco | git checkout |
| gcor | git checkout --recurse-submodules | | gcor | git checkout --recurse-submodules |
@ -125,7 +125,7 @@ plugins=(... git)
| grb | git rebase | | grb | git rebase |
| grba | git rebase --abort | | grba | git rebase --abort |
| grbc | git rebase --continue | | grbc | git rebase --continue |
| grbd | git rebase develop | | grbd | git rebase $(git_develop_branch) |
| grbi | git rebase -i | | grbi | git rebase -i |
| grbm | git rebase $(git_main_branch) | | grbm | git rebase $(git_main_branch) |
| grbo | git rebase --onto | | grbo | git rebase --onto |
@ -215,12 +215,13 @@ These are aliases that have been removed, renamed, or otherwise modified in a wa
### Current ### Current
| Command | Description | | Command | Description |
|:-----------------------|:-----------------------------------------------------------------------------| |:-----------------------|:---------------------------------------------------------------------------------------------------------|
| `grename <old> <new>` | Rename `old` branch to `new`, including in origin remote | | `grename <old> <new>` | Rename `old` branch to `new`, including in origin remote |
| current_branch | Return the name of the current branch | | current_branch | Return the name of the current branch |
| git_current_user_name | Returns the `user.name` config value | | git_current_user_name | Returns the `user.name` config value |
| git_current_user_email | Returns the `user.email` config value | | git_current_user_email | Returns the `user.email` config value |
| git_main_branch | Returns the name of the main branch: `main` if it exists, `master` otherwise | | git_main_branch | Returns the name of the main branch: `main` if it exists, `master` otherwise |
| git_develop_branch | Returns the name of the develop branch: `dev`, `devel`, `development` if they exist, `develop` otherwise |
### Work in Progress (WIP) ### Work in Progress (WIP)

View file

@ -42,6 +42,19 @@ function git_main_branch() {
echo master echo master
} }
# Check for develop and similarly named branches
function git_develop_branch() {
command git rev-parse --git-dir &>/dev/null || return
local branch
for branch in dev devel development; do
if command git show-ref -q --verify refs/heads/$branch; then
echo $branch
return
fi
done
echo develop
}
# #
# Aliases # Aliases
# (sorted alphabetically) # (sorted alphabetically)
@ -60,7 +73,7 @@ alias gapt='git apply --3way'
alias gb='git branch' alias gb='git branch'
alias gba='git branch -a' alias gba='git branch -a'
alias gbd='git branch -d' alias gbd='git branch -d'
alias gbda='git branch --no-color --merged | command grep -vE "^(\+|\*|\s*($(git_main_branch)|development|develop|devel|dev)\s*$)" | command xargs -n 1 git branch -d' alias gbda='git branch --no-color --merged | command grep -vE "^(\+|\*|\s*($(git_main_branch)|$(git_develop_branch))\s*$)" | command xargs -n 1 git branch -d'
alias gbD='git branch -D' alias gbD='git branch -D'
alias gbl='git blame -b -w' alias gbl='git blame -b -w'
alias gbnm='git branch --no-merged' alias gbnm='git branch --no-merged'
@ -88,7 +101,7 @@ alias gcl='git clone --recurse-submodules'
alias gclean='git clean -id' alias gclean='git clean -id'
alias gpristine='git reset --hard && git clean -dffx' alias gpristine='git reset --hard && git clean -dffx'
alias gcm='git checkout $(git_main_branch)' alias gcm='git checkout $(git_main_branch)'
alias gcd='git checkout develop' alias gcd='git checkout $(git_develop_branch)'
alias gcmsg='git commit -m' alias gcmsg='git commit -m'
alias gco='git checkout' alias gco='git checkout'
alias gcor='git checkout --recurse-submodules' alias gcor='git checkout --recurse-submodules'
@ -227,7 +240,7 @@ alias gra='git remote add'
alias grb='git rebase' alias grb='git rebase'
alias grba='git rebase --abort' alias grba='git rebase --abort'
alias grbc='git rebase --continue' alias grbc='git rebase --continue'
alias grbd='git rebase develop' alias grbd='git rebase $(git_develop_branch)'
alias grbi='git rebase -i' alias grbi='git rebase -i'
alias grbm='git rebase $(git_main_branch)' alias grbm='git rebase $(git_main_branch)'
alias grbo='git rebase --onto' alias grbo='git rebase --onto'