fix(git)!: standardize git pull --rebase aliases (#11224)

BREAKING CHANGE: The alias `gup` for `git pull --rebase` and its derivatives
are replaced by `gpr` for standardization. This means the previous aliases will
no longer be available after a few months. Meanwhile, the original aliases are
still working, with a deprecation notice.
See https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/git/README.md#deprecated-aliases
for the full list of deprecated aliases.

Fixes #11104
Closes #11224

Co-authored-by: Marc Cornellà <marc@mcornella.com>
This commit is contained in:
Zeeshan 2022-10-04 18:51:24 +05:30 committed by Marc Cornellà
parent 9f84ba0854
commit 207d29b716
No known key found for this signature in database
GPG key ID: 0314585E776A9C1B
2 changed files with 242 additions and 221 deletions

View file

@ -10,207 +10,205 @@ plugins=(... git)
## Aliases ## Aliases
| Alias | Command | | Alias | Command |
| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | :--------------------- | :------------------------------------------------------------------------------------------------------------------------------ |
| `grt` | `cd "$(git rev-parse --show-toplevel \|\| echo .)"` | | `grt` | `cd "$(git rev-parse --show-toplevel \|\| echo .)"` |
| `ggpnp` | `ggl && ggp` | | `ggpnp` | `ggl && ggp` |
| `ggpur` | `ggu` | | `ggpur` | `ggu` |
| `g` | `git` | | `g` | `git` |
| `ga` | `git add` | | `ga` | `git add` |
| `gaa` | `git add --all` | | `gaa` | `git add --all` |
| `gapa` | `git add --patch` | | `gapa` | `git add --patch` |
| `gau` | `git add --update` | | `gau` | `git add --update` |
| `gav` | `git add --verbose` | | `gav` | `git add --verbose` |
| `gwip` | `git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]"` | | `gwip` | `git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]"` |
| `gam` | `git am` | | `gam` | `git am` |
| `gama` | `git am --abort` | | `gama` | `git am --abort` |
| `gamc` | `git am --continue` | | `gamc` | `git am --continue` |
| `gamscp` | `git am --show-current-patch` | | `gamscp` | `git am --show-current-patch` |
| `gams` | `git am --skip` | | `gams` | `git am --skip` |
| `gap` | `git apply` | | `gap` | `git apply` |
| `gapt` | `git apply --3way` | | `gapt` | `git apply --3way` |
| `gbs` | `git bisect` | | `gbs` | `git bisect` |
| `gbsb` | `git bisect bad` | | `gbsb` | `git bisect bad` |
| `gbsg` | `git bisect good` | | `gbsg` | `git bisect good` |
| `gbsn` | `git bisect new` | | `gbsn` | `git bisect new` |
| `gbso` | `git bisect old` | | `gbso` | `git bisect old` |
| `gbsr` | `git bisect reset` | | `gbsr` | `git bisect reset` |
| `gbss` | `git bisect start` | | `gbss` | `git bisect start` |
| `gbl` | `git blame -w` | | `gbl` | `git blame -w` |
| `gb` | `git branch` | | `gb` | `git branch` |
| `gba` | `git branch --all` | | `gba` | `git branch --all` |
| `gbd` | `git branch --delete` | | `gbd` | `git branch --delete` |
| `gbD` | `git branch --delete --force` | | `gbD` | `git branch --delete --force` |
| `gbgd` | `LANG=C git branch --no-color -vv \| grep ": gone\]" \| awk '"'"'{print $1}'"'"' \| xargs git branch -d` | | `gbgd` | `LANG=C git branch --no-color -vv \| grep ": gone\]" \| awk '"'"'{print $1}'"'"' \| xargs git branch -d` |
| `gbgD` | `LANG=C git branch --no-color -vv \| grep ": gone\]" \| awk '"'"'{print $1}'"'"' \| xargs git branch -D` | | `gbgD` | `LANG=C git branch --no-color -vv \| grep ": gone\]" \| awk '"'"'{print $1}'"'"' \| xargs git branch -D` |
| `gbm` | `git branch --move` | | `gbm` | `git branch --move` |
| `gbnm` | `git branch --no-merged` | | `gbnm` | `git branch --no-merged` |
| `gbr` | `git branch --remote` | | `gbr` | `git branch --remote` |
| `ggsup` | `git branch --set-upstream-to=origin/$(git_current_branch)` | | `ggsup` | `git branch --set-upstream-to=origin/$(git_current_branch)` |
| `gbg` | `LANG=C git branch -vv \| grep ": gone\]"` | | `gbg` | `LANG=C git branch -vv \| grep ": gone\]"` |
| `gco` | `git checkout` | | `gco` | `git checkout` |
| `gcor` | `git checkout --recurse-submodules` | | `gcor` | `git checkout --recurse-submodules` |
| `gcb` | `git checkout -b` | | `gcb` | `git checkout -b` |
| `gcd` | `git checkout $(git_develop_branch)` | | `gcd` | `git checkout $(git_develop_branch)` |
| `gcm` | `git checkout $(git_main_branch)` | | `gcm` | `git checkout $(git_main_branch)` |
| `gcp` | `git cherry-pick` | | `gcp` | `git cherry-pick` |
| `gcpa` | `git cherry-pick --abort` | | `gcpa` | `git cherry-pick --abort` |
| `gcpc` | `git cherry-pick --continue` | | `gcpc` | `git cherry-pick --continue` |
| `gclean` | `git clean --interactive -d` | | `gclean` | `git clean --interactive -d` |
| `gcl` | `git clone --recurse-submodules` | | `gcl` | `git clone --recurse-submodules` |
| `gccd` | `git clone --recurse-submodules "$@" && cd "$(basename $\_ .git)"` | | `gccd` | `git clone --recurse-submodules "$@" && cd "$(basename $\_ .git)"` |
| `gcam` | `git commit --all --message` | | `gcam` | `git commit --all --message` |
| `gcas` | `git commit --all --signoff` | | `gcas` | `git commit --all --signoff` |
| `gcasm` | `git commit --all --signoff --message` | | `gcasm` | `git commit --all --signoff --message` |
| `gcmsg` | `git commit --message` | | `gcmsg` | `git commit --message` |
| `gcsm` | `git commit --signoff --message` | | `gcsm` | `git commit --signoff --message` |
| `gc` | `git commit --verbose` | | `gc` | `git commit --verbose` |
| `gca` | `git commit --verbose --all` | | `gca` | `git commit --verbose --all` |
| `gca!` | `git commit --verbose --all --amend` | | `gca!` | `git commit --verbose --all --amend` |
| `gcan!` | `git commit --verbose --all --no-edit --amend` | | `gcan!` | `git commit --verbose --all --no-edit --amend` |
| `gcans!` | `git commit --verbose --all --signoff --no-edit --amend` | | `gcans!` | `git commit --verbose --all --signoff --no-edit --amend` |
| `gc!` | `git commit --verbose --amend` | | `gc!` | `git commit --verbose --amend` |
| `gcn!` | `git commit --verbose --no-edit --amend` | | `gcn!` | `git commit --verbose --no-edit --amend` |
| `gcs` | `git commit -S` | | `gcs` | `git commit -S` |
| `gcss` | `git commit -S -s` | | `gcss` | `git commit -S -s` |
| `gcssm` | `git commit -S -s -m` | | `gcssm` | `git commit -S -s -m` |
| `gcf` | `git config --list` | | `gcf` | `git config --list` |
| `gdct` | `git describe --tags $(git rev-list --tags --max-count=1)` | | `gdct` | `git describe --tags $(git rev-list --tags --max-count=1)` |
| `gd` | `git diff` | | `gd` | `git diff` |
| `gdca` | `git diff --cached` | | `gdca` | `git diff --cached` |
| `gdcw` | `git diff --cached --word-diff` | | `gdcw` | `git diff --cached --word-diff` |
| `gds` | `git diff --staged` | | `gds` | `git diff --staged` |
| `gdw` | `git diff --word-diff` | | `gdw` | `git diff --word-diff` |
| `gdv` | `git diff -w "$@" \| view -` | | `gdv` | `git diff -w "$@" \| view -` |
| `gdup` | `git diff @{upstream}` | | `gdup` | `git diff @{upstream}` |
| `gdnolock` | `git diff $@ ":(exclude)package-lock.json" ":(exclude)\*.lock"` | | `gdnolock` | `git diff $@ ":(exclude)package-lock.json" ":(exclude)\*.lock"` |
| `gdt` | `git diff-tree --no-commit-id --name-only -r` | | `gdt` | `git diff-tree --no-commit-id --name-only -r` |
| `gf` | `git fetch` | | `gf` | `git fetch` |
| `gfa` | `git fetch --all --prune` | | `gfa` | `git fetch --all --prune` |
| `gfo` | `git fetch origin` | | `gfo` | `git fetch origin` |
| `gg` | `git gui citool` | | `gg` | `git gui citool` |
| `gga` | `git gui citool --amend` | | `gga` | `git gui citool --amend` |
| `ghh` | `git help` | | `ghh` | `git help` |
| `glgg` | `git log --graph` | | `glgg` | `git log --graph` |
| `glgga` | `git log --graph --decorate --all` | | `glgga` | `git log --graph --decorate --all` |
| `glgm` | `git log --graph --max-count=10` | | `glgm` | `git log --graph --max-count=10` |
| `glod` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'` | | `glod` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'` |
| `glods` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short` | | `glods` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short` |
| `glol` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'` | | `glol` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'` |
| `glola` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --all` | | `glola` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --all` |
| `glols` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --stat` | | `glols` | `git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --stat` |
| `glo` | `git log --oneline --decorate` | | `glo` | `git log --oneline --decorate` |
| `glog` | `git log --oneline --decorate --graph` | | `glog` | `git log --oneline --decorate --graph` |
| `gloga` | `git log --oneline --decorate --graph --all` | | `gloga` | `git log --oneline --decorate --graph --all` |
| `glp` | `git log --pretty=<format>` | | `glp` | `git log --pretty=<format>` |
| `glg` | `git log --stat` | | `glg` | `git log --stat` |
| `glgp` | `git log --stat --patch` | | `glgp` | `git log --stat --patch` |
| `gignored` | `git ls-files -v \| grep "^[[:lower:]]"` | | `gignored` | `git ls-files -v \| grep "^[[:lower:]]"` |
| `gfg` | `git ls-files \| grep` | | `gfg` | `git ls-files \| grep` |
| `gm` | `git merge` | | `gm` | `git merge` |
| `gma` | `git merge --abort` | | `gma` | `git merge --abort` |
| `gms` | `git merge --squash` | | `gms` | `git merge --squash` |
| `gmom` | `git merge origin/$(git_main_branch)` | | `gmom` | `git merge origin/$(git_main_branch)` |
| `gmum` | `git merge upstream/$(git_main_branch)` | | `gmum` | `git merge upstream/$(git_main_branch)` |
| `gmtl` | `git mergetool --no-prompt` | | `gmtl` | `git mergetool --no-prompt` |
| `gmtlvim` | `git mergetool --no-prompt --tool=vimdiff` | | `gmtlvim` | `git mergetool --no-prompt --tool=vimdiff` |
| `gl` | `git pull` | | `gl` | `git pull` |
| `gpr` | `git pull --rebase` | | `gpr` | `git pull --rebase` |
| `gup` | `git pull --rebase` | | `gprv` | `git pull --rebase -v` |
| `gupa` | `git pull --rebase --autostash` | | `gpra` | `git pull --rebase --autostash` |
| `gupav` | `git pull --rebase --autostash --verbose` | | `gprav` | `git pull --rebase --autostash -v` |
| `gupv` | `git pull --rebase --verbose` | | `gprom` | `git pull --rebase origin $(git_main_branch)` |
| `ggu` | `git pull --rebase origin $(current_branch)` | | `gpromi` | `git pull --rebase=interactive origin $(git_main_branch)` |
| `gupom` | `git pull --rebase origin $(git_main_branch)` | | `ggpull` | `git pull origin "$(git_current_branch)"` |
| `gupomi` | `git pull --rebase=interactive origin $(git_main_branch)` | | `ggl` | `git pull origin $(current_branch)` |
| `ggpull` | `git pull origin "$(git_current_branch)"` | | `gluc` | `git pull upstream $(git_current_branch)` |
| `ggl` | `git pull origin $(current_branch)` | | `glum` | `git pull upstream $(git_main_branch)` |
| `gluc` | `git pull upstream $(git_current_branch)` | | `gp` | `git push` |
| `glum` | `git pull upstream $(git_main_branch)` | | `gpd` | `git push --dry-run` |
| `gp` | `git push` | | `gpf!` | `git push --force` |
| `gpd` | `git push --dry-run` | | `ggf` | `git push --force origin $(current_branch)` |
| `gpf!` | `git push --force` | | `gpf` | On Git >= 2.30: `git push --force-with-lease --force-if-includes` |
| `ggf` | `git push --force origin $(current_branch)` | | `gpf` | On Git < 2.30: `git push --force-with-lease` |
| `gpf` | On Git >= 2.30: `git push --force-with-lease --force-if-includes` | | `ggfl` | `git push --force-with-lease origin $(current_branch)` |
| `gpf` | On Git < 2.30: `git push --force-with-lease` | | `gpsup` | `git push --set-upstream origin $(git_current_branch)` |
| `ggfl` | `git push --force-with-lease origin $(current_branch)` | | `gpsupf` | On Git >= 2.30: `git push --set-upstream origin $(git_current_branch) --force-with-lease --force-if-includes` |
| `gpsup` | `git push --set-upstream origin $(git_current_branch)` | | `gpsupf` | On Git < 2.30: `git push --set-upstream origin $(git_current_branch) --force-with-lease` |
| `gpsupf` | On Git >= 2.30: `git push --set-upstream origin $(git_current_branch) --force-with-lease --force-if-includes` | | `gpv` | `git push --verbose` |
| `gpsupf` | On Git < 2.30: `git push --set-upstream origin $(git_current_branch) --force-with-lease` | | `gpoat` | `git push origin --all && git push origin --tags` |
| `gpv` | `git push --verbose` | | `gpod` | `git push origin --delete` |
| `gpoat` | `git push origin --all && git push origin --tags` | | `ggpush` | `git push origin "$(git_current_branch)"` |
| `gpod` | `git push origin --delete` | | `ggp` | `git push origin $(current_branch)` |
| `ggpush` | `git push origin "$(git_current_branch)"` | | `gpu` | `git push upstream` |
| `ggp` | `git push origin $(current_branch)` | | `grb` | `git rebase` |
| `gpu` | `git push upstream` | | `grba` | `git rebase --abort` |
| `grb` | `git rebase` | | `grbc` | `git rebase --continue` |
| `grba` | `git rebase --abort` | | `grbi` | `git rebase --interactive` |
| `grbc` | `git rebase --continue` | | `grbo` | `git rebase --onto` |
| `grbi` | `git rebase --interactive` | | `grbs` | `git rebase --skip` |
| `grbo` | `git rebase --onto` | | `grbd` | `git rebase $(git_develop_branch)` |
| `grbs` | `git rebase --skip` | | `grbm` | `git rebase $(git_main_branch)` |
| `grbd` | `git rebase $(git_develop_branch)` | | `grbom` | `git rebase origin/$(git_main_branch)` |
| `grbm` | `git rebase $(git_main_branch)` | | `gr` | `git remote` |
| `grbom` | `git rebase origin/$(git_main_branch)` | | `grv` | `git remote --verbose` |
| `gr` | `git remote` | | `gra` | `git remote add` |
| `grv` | `git remote --verbose` | | `grrm` | `git remote remove` |
| `gra` | `git remote add` | | `grmv` | `git remote rename` |
| `grrm` | `git remote remove` | | `grset` | `git remote set-url` |
| `grmv` | `git remote rename` | | `grup` | `git remote update` |
| `grset` | `git remote set-url` | | `grh` | `git reset` |
| `grup` | `git remote update` | | `gru` | `git reset --` |
| `grh` | `git reset` | | `grhh` | `git reset --hard` |
| `gru` | `git reset --` | | `grhk` | `git reset --keep` |
| `grhh` | `git reset --hard` | | `grhs` | `git reset --soft` |
| `grhk` | `git reset --keep` | | `gpristine` | `git reset --hard && git clean -dffx` |
| `grhs` | `git reset --soft` | | `groh` | `git reset origin/$(git_current_branch) --hard` |
| `gpristine` | `git reset --hard && git clean -dffx` | | `grs` | `git restore` |
| `groh` | `git reset origin/$(git_current_branch) --hard` | | `grss` | `git restore --source` |
| `grs` | `git restore` | | `grst` | `git restore --staged` |
| `grss` | `git restore --source` | | `gunwip` | `git rev-list --max-count=1 --format="%s" HEAD \| grep -q "--wip--" && git reset HEAD~1` |
| `grst` | `git restore --staged` | | `grev` | `git revert` |
| `gunwip` | `git rev-list --max-count=1 --format="%s" HEAD \| grep -q "--wip--" && git reset HEAD~1` | | `grm` | `git rm` |
| `grev` | `git revert` | | `grmc` | `git rm --cached` |
| `grm` | `git rm` | | `gcount` | `git shortlog --summary -n` |
| `grmc` | `git rm --cached` | | `gsh` | `git show` |
| `gcount` | `git shortlog --summary -n` | | `gsps` | `git show --pretty=short --show-signature` |
| `gsh` | `git show` | | `gstall` | `git stash --all` |
| `gsps` | `git show --pretty=short --show-signature` | | `gstu` | `git stash --include-untracked` |
| `gstall` | `git stash --all` | | `gstaa` | `git stash apply` |
| `gstu` | `git stash --include-untracked` | | `gstc` | `git stash clear` |
| `gstaa` | `git stash apply` | | `gstd` | `git stash drop` |
| `gstc` | `git stash clear` | | `gstl` | `git stash list` |
| `gstd` | `git stash drop` | | `gstp` | `git stash pop` |
| `gstl` | `git stash list` | | `gsta` | On Git >= 2.13: `git stash push` |
| `gstp` | `git stash pop` | | `gsta` | On Git < 2.13: `git stash save` |
| `gsta` | On Git >= 2.13: `git stash push` | | `gsts` | `git stash show --patch` |
| `gsta` | On Git < 2.13: `git stash save` | | `gst` | `git status` |
| `gsts` | `git stash show --patch` | | `gss` | `git status --short` |
| `gst` | `git status` | | `gsb` | `git status --short -b` |
| `gss` | `git status --short` | | `gsi` | `git submodule init` |
| `gsb` | `git status --short -b` | | `gsu` | `git submodule update` |
| `gsi` | `git submodule init` | | `gsd` | `git svn dcommit` |
| `gsu` | `git submodule update` | | `git-svn-dcommit-push` | `git svn dcommit && git push github $(git_main_branch):svntrunk` |
| `gsd` | `git svn dcommit` | | `gsr` | `git svn rebase` |
| `git-svn-dcommit-push` | `git svn dcommit && git push github $(git_main_branch):svntrunk` | | `gsw` | `git switch` |
| `gsr` | `git svn rebase` | | `gswc` | `git switch -c` |
| `gsw` | `git switch` | | `gswd` | `git switch $(git_develop_branch)` |
| `gswc` | `git switch -c` | | `gswm` | `git switch $(git_main_branch)` |
| `gswd` | `git switch $(git_develop_branch)` | | `gta` | `git tag --annotate` |
| `gswm` | `git switch $(git_main_branch)` | | `gts` | `git tag -s` |
| `gta` | `git tag --annotate` | | `gtv` | `git tag \| sort -V` |
| `gts` | `git tag -s` | | `gignore` | `git update-index --assume-unchanged` |
| `gtv` | `git tag \| sort -V` | | `gunignore` | `git update-index --no-assume-unchanged` |
| `gignore` | `git update-index --assume-unchanged` | | `gwch` | `git whatchanged -p --abbrev-commit --pretty=medium` |
| `gunignore` | `git update-index --no-assume-unchanged` | | `gwt` | `git worktree` |
| `gwch` | `git whatchanged -p --abbrev-commit --pretty=medium` | | `gwtls` | `git worktree list` |
| `gwt` | `git worktree` | | `gwtmv` | `git worktree move` |
| `gwtls` | `git worktree list` | | `gwtrm` | `git worktree remove` |
| `gwtmv` | `git worktree move` | | `gk` | `gitk --all --branches &!` |
| `gwtrm` | `git worktree remove` | | `gke` | `gitk --all $(git log --walk-reflogs --pretty=%h) &!` |
| `gk` | `gitk --all --branches &!` | | `gtl` | `gtl(){ git tag --sort=-v:refname -n --list ${1}\* }; noglob gtl` |
| `gke` | `gitk --all $(git log --walk-reflogs --pretty=%h) &!` |
| `gtl` | `gtl(){ git tag --sort=-v:refname -n --list ${1}\* }; noglob gtl` |
### Main branch preference ### Main branch preference
@ -224,19 +222,25 @@ branch exists. We do this via the function `git_main_branch`.
These are aliases that have been removed, renamed, or otherwise modified in a way that may, or may not, These are aliases that have been removed, renamed, or otherwise modified in a way that may, or may not,
receive further support. receive further support.
| Alias | Command | Modification | | Alias | Command | Modification |
| :------- | :----------------------------------------------------- | :-------------------------------------------------------- | | :------- | :-------------------------------------------------------- | :-------------------------------------------------------- |
| `gap` | `git add --patch` | New alias: `gapa`. | | `gap` | `git add --patch` | New alias: `gapa`. |
| `gcl` | `git config --list` | New alias: `gcf`. | | `gcl` | `git config --list` | New alias: `gcf`. |
| `gdc` | `git diff --cached` | New alias: `gdca`. | | `gdc` | `git diff --cached` | New alias: `gdca`. |
| `gdt` | `git difftool` | No replacement. | | `gdt` | `git difftool` | No replacement. |
| `ggpull` | `git pull origin $(current_branch)` | New alias: `ggl`. (`ggpull` still exists for now though.) | | `ggpull` | `git pull origin $(current_branch)` | New alias: `ggl`. (`ggpull` still exists for now though.) |
| `ggpur` | `git pull --rebase origin $(current_branch)` | New alias: `ggu`. (`ggpur` still exists for now though.) | | `ggpur` | `git pull --rebase origin $(current_branch)` | New alias: `ggu`. (`ggpur` still exists for now though.) |
| `ggpush` | `git push origin $(current_branch)` | New alias: `ggp`. (`ggpush` still exists for now though.) | | `ggpush` | `git push origin $(current_branch)` | New alias: `ggp`. (`ggpush` still exists for now though.) |
| `gk` | `gitk --all --branches` | Now aliased to `gitk --all --branches`. | | `gk` | `gitk --all --branches` | Now aliased to `gitk --all --branches`. |
| `glg` | `git log --stat --max-count=10` | Now aliased to `git log --stat --color`. | | `glg` | `git log --stat --max-count=10` | Now aliased to `git log --stat --color`. |
| `glgg` | `git log --graph --max-count=10` | Now aliased to `git log --graph --color`. | | `glgg` | `git log --graph --max-count=10` | Now aliased to `git log --graph --color`. |
| `gwc` | `git whatchanged -p --abbrev-commit --pretty = medium` | New alias: `gwch`. | | `gwc` | `git whatchanged -p --abbrev-commit --pretty = medium` | New alias: `gwch`. |
| `gup` | `git pull --rebase` | now alias `gpr` |
| `gupv` | `git pull --rebase -v` | now alias `gprv` |
| `gupa` | `git pull --rebase --autostash` | now alias `gpra` |
| `gupav` | `git pull --rebase --autostash -v` | now alias `gprav` |
| `gupom` | `git pull --rebase origin $(git_main_branch)` | now alias `gprom` |
| `gupomi` | `git pull --rebase=interactive origin $(git_main_branch)` | now alias `gpromi` |
## Functions ## Functions
@ -250,7 +254,7 @@ receive further support.
| `git_develop_branch` | Returns the name of the “development” branch: `dev`, `devel`, `development` if they exist, `develop` otherwise. | | `git_develop_branch` | Returns the name of the “development” branch: `dev`, `devel`, `development` if they exist, `develop` otherwise. |
| `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. |
| `grename <old> <new>` | Renames branch `<old>` to `<new>`, including on the origin remote. | | `grename <old> <new>` | Renames branch `<old>` to `<new>`, including on the origin remote. |
| `gbda` | Deletes all merged branches | | `gbda` | Deletes all merged branches |
| `gbds` | Deletes all squash-merged branches (**Note: performance degrades with number of branches**) | | `gbds` | Deletes all squash-merged branches (**Note: performance degrades with number of branches**) |
### Work in Progress (WIP) ### Work in Progress (WIP)

View file

@ -246,12 +246,12 @@ alias gmom='git merge origin/$(git_main_branch)'
alias gmum='git merge upstream/$(git_main_branch)' alias gmum='git merge upstream/$(git_main_branch)'
alias gmtl='git mergetool --no-prompt' alias gmtl='git mergetool --no-prompt'
alias gmtlvim='git mergetool --no-prompt --tool=vimdiff' alias gmtlvim='git mergetool --no-prompt --tool=vimdiff'
alias gl='git pull' alias gl='git pull'
alias gpr='git pull --rebase' alias gpr='git pull --rebase'
alias gup='git pull --rebase' alias gprv='git pull --rebase -v'
alias gupa='git pull --rebase --autostash' alias gpra='git pull --rebase --autostash'
alias gupav='git pull --rebase --autostash --verbose' alias gprav='git pull --rebase --autostash -v'
alias gupv='git pull --rebase --verbose'
function ggu() { function ggu() {
[[ "$#" != 1 ]] && local b="$(git_current_branch)" [[ "$#" != 1 ]] && local b="$(git_current_branch)"
@ -259,8 +259,8 @@ function ggu() {
} }
compdef _git ggu=git-checkout compdef _git ggu=git-checkout
alias gupom='git pull --rebase origin $(git_main_branch)' alias gprom='git pull --rebase origin $(git_main_branch)'
alias gupomi='git pull --rebase=interactive origin $(git_main_branch)' alias gpromi='git pull --rebase=interactive origin $(git_main_branch)'
alias ggpull='git pull origin "$(git_current_branch)"' alias ggpull='git pull origin "$(git_current_branch)"'
function ggl() { function ggl() {
@ -388,3 +388,20 @@ alias gk='\gitk --all --branches &!'
alias gke='\gitk --all $(git log --walk-reflogs --pretty=%h) &!' alias gke='\gitk --all $(git log --walk-reflogs --pretty=%h) &!'
unset git_version unset git_version
# Logic for adding warnings on deprecated aliases
local old_alias new_alias
for old_alias new_alias (
# TODO(2023-10-19): remove deprecated `git pull --rebase` aliases
gup gpr
gupv gprv
gupa gpra
gupav gprav
gupom gprom
gupomi gpromi
); do
aliases[$old_alias]="
print -Pu2 \"%F{yellow}[oh-my-zsh] '%F{red}${old_alias}%F{yellow}' is a deprecated alias, using '%F{green}${new_alias}%F{yellow}' instead.%f\"
$new_alias"
done
unset old_alias new_alias