From 207d29b716301c77392ae140b1482eeba44e9102 Mon Sep 17 00:00:00 2001 From: Zeeshan Date: Tue, 4 Oct 2022 18:51:24 +0530 Subject: [PATCH] fix(git)!: standardize `git pull --rebase` aliases (#11224) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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à --- plugins/git/README.md | 434 +++++++++++++++++++------------------ plugins/git/git.plugin.zsh | 29 ++- 2 files changed, 242 insertions(+), 221 deletions(-) diff --git a/plugins/git/README.md b/plugins/git/README.md index 724965302..93dc8ccea 100644 --- a/plugins/git/README.md +++ b/plugins/git/README.md @@ -10,207 +10,205 @@ plugins=(... git) ## Aliases -| Alias | Command | -| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `grt` | `cd "$(git rev-parse --show-toplevel \|\| echo .)"` | -| `ggpnp` | `ggl && ggp` | -| `ggpur` | `ggu` | -| `g` | `git` | -| `ga` | `git add` | -| `gaa` | `git add --all` | -| `gapa` | `git add --patch` | -| `gau` | `git add --update` | -| `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]"` | -| `gam` | `git am` | -| `gama` | `git am --abort` | -| `gamc` | `git am --continue` | -| `gamscp` | `git am --show-current-patch` | -| `gams` | `git am --skip` | -| `gap` | `git apply` | -| `gapt` | `git apply --3way` | -| `gbs` | `git bisect` | -| `gbsb` | `git bisect bad` | -| `gbsg` | `git bisect good` | -| `gbsn` | `git bisect new` | -| `gbso` | `git bisect old` | -| `gbsr` | `git bisect reset` | -| `gbss` | `git bisect start` | -| `gbl` | `git blame -w` | -| `gb` | `git branch` | -| `gba` | `git branch --all` | -| `gbd` | `git branch --delete` | -| `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` | -| `gbm` | `git branch --move` | -| `gbnm` | `git branch --no-merged` | -| `gbr` | `git branch --remote` | -| `ggsup` | `git branch --set-upstream-to=origin/$(git_current_branch)` | -| `gbg` | `LANG=C git branch -vv \| grep ": gone\]"` | -| `gco` | `git checkout` | -| `gcor` | `git checkout --recurse-submodules` | -| `gcb` | `git checkout -b` | -| `gcd` | `git checkout $(git_develop_branch)` | -| `gcm` | `git checkout $(git_main_branch)` | -| `gcp` | `git cherry-pick` | -| `gcpa` | `git cherry-pick --abort` | -| `gcpc` | `git cherry-pick --continue` | -| `gclean` | `git clean --interactive -d` | -| `gcl` | `git clone --recurse-submodules` | -| `gccd` | `git clone --recurse-submodules "$@" && cd "$(basename $\_ .git)"` | -| `gcam` | `git commit --all --message` | -| `gcas` | `git commit --all --signoff` | -| `gcasm` | `git commit --all --signoff --message` | -| `gcmsg` | `git commit --message` | -| `gcsm` | `git commit --signoff --message` | -| `gc` | `git commit --verbose` | -| `gca` | `git commit --verbose --all` | -| `gca!` | `git commit --verbose --all --amend` | -| `gcan!` | `git commit --verbose --all --no-edit --amend` | -| `gcans!` | `git commit --verbose --all --signoff --no-edit --amend` | -| `gc!` | `git commit --verbose --amend` | -| `gcn!` | `git commit --verbose --no-edit --amend` | -| `gcs` | `git commit -S` | -| `gcss` | `git commit -S -s` | -| `gcssm` | `git commit -S -s -m` | -| `gcf` | `git config --list` | -| `gdct` | `git describe --tags $(git rev-list --tags --max-count=1)` | -| `gd` | `git diff` | -| `gdca` | `git diff --cached` | -| `gdcw` | `git diff --cached --word-diff` | -| `gds` | `git diff --staged` | -| `gdw` | `git diff --word-diff` | -| `gdv` | `git diff -w "$@" \| view -` | -| `gdup` | `git diff @{upstream}` | -| `gdnolock` | `git diff $@ ":(exclude)package-lock.json" ":(exclude)\*.lock"` | -| `gdt` | `git diff-tree --no-commit-id --name-only -r` | -| `gf` | `git fetch` | -| `gfa` | `git fetch --all --prune` | -| `gfo` | `git fetch origin` | -| `gg` | `git gui citool` | -| `gga` | `git gui citool --amend` | -| `ghh` | `git help` | -| `glgg` | `git log --graph` | -| `glgga` | `git log --graph --decorate --all` | -| `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'` | -| `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'` | -| `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` | -| `glo` | `git log --oneline --decorate` | -| `glog` | `git log --oneline --decorate --graph` | -| `gloga` | `git log --oneline --decorate --graph --all` | -| `glp` | `git log --pretty=` | -| `glg` | `git log --stat` | -| `glgp` | `git log --stat --patch` | -| `gignored` | `git ls-files -v \| grep "^[[:lower:]]"` | -| `gfg` | `git ls-files \| grep` | -| `gm` | `git merge` | -| `gma` | `git merge --abort` | -| `gms` | `git merge --squash` | -| `gmom` | `git merge origin/$(git_main_branch)` | -| `gmum` | `git merge upstream/$(git_main_branch)` | -| `gmtl` | `git mergetool --no-prompt` | -| `gmtlvim` | `git mergetool --no-prompt --tool=vimdiff` | -| `gl` | `git pull` | -| `gpr` | `git pull --rebase` | -| `gup` | `git pull --rebase` | -| `gupa` | `git pull --rebase --autostash` | -| `gupav` | `git pull --rebase --autostash --verbose` | -| `gupv` | `git pull --rebase --verbose` | -| `ggu` | `git pull --rebase origin $(current_branch)` | -| `gupom` | `git pull --rebase origin $(git_main_branch)` | -| `gupomi` | `git pull --rebase=interactive origin $(git_main_branch)` | -| `ggpull` | `git pull origin "$(git_current_branch)"` | -| `ggl` | `git pull origin $(current_branch)` | -| `gluc` | `git pull upstream $(git_current_branch)` | -| `glum` | `git pull upstream $(git_main_branch)` | -| `gp` | `git push` | -| `gpd` | `git push --dry-run` | -| `gpf!` | `git push --force` | -| `ggf` | `git push --force origin $(current_branch)` | -| `gpf` | On Git >= 2.30: `git push --force-with-lease --force-if-includes` | -| `gpf` | On Git < 2.30: `git push --force-with-lease` | -| `ggfl` | `git push --force-with-lease origin $(current_branch)` | -| `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 --force-if-includes` | -| `gpsupf` | On Git < 2.30: `git push --set-upstream origin $(git_current_branch) --force-with-lease` | -| `gpv` | `git push --verbose` | -| `gpoat` | `git push origin --all && git push origin --tags` | -| `gpod` | `git push origin --delete` | -| `ggpush` | `git push origin "$(git_current_branch)"` | -| `ggp` | `git push origin $(current_branch)` | -| `gpu` | `git push upstream` | -| `grb` | `git rebase` | -| `grba` | `git rebase --abort` | -| `grbc` | `git rebase --continue` | -| `grbi` | `git rebase --interactive` | -| `grbo` | `git rebase --onto` | -| `grbs` | `git rebase --skip` | -| `grbd` | `git rebase $(git_develop_branch)` | -| `grbm` | `git rebase $(git_main_branch)` | -| `grbom` | `git rebase origin/$(git_main_branch)` | -| `gr` | `git remote` | -| `grv` | `git remote --verbose` | -| `gra` | `git remote add` | -| `grrm` | `git remote remove` | -| `grmv` | `git remote rename` | -| `grset` | `git remote set-url` | -| `grup` | `git remote update` | -| `grh` | `git reset` | -| `gru` | `git reset --` | -| `grhh` | `git reset --hard` | -| `grhk` | `git reset --keep` | -| `grhs` | `git reset --soft` | -| `gpristine` | `git reset --hard && git clean -dffx` | -| `groh` | `git reset origin/$(git_current_branch) --hard` | -| `grs` | `git restore` | -| `grss` | `git restore --source` | -| `grst` | `git restore --staged` | -| `gunwip` | `git rev-list --max-count=1 --format="%s" HEAD \| grep -q "--wip--" && git reset HEAD~1` | -| `grev` | `git revert` | -| `grm` | `git rm` | -| `grmc` | `git rm --cached` | -| `gcount` | `git shortlog --summary -n` | -| `gsh` | `git show` | -| `gsps` | `git show --pretty=short --show-signature` | -| `gstall` | `git stash --all` | -| `gstu` | `git stash --include-untracked` | -| `gstaa` | `git stash apply` | -| `gstc` | `git stash clear` | -| `gstd` | `git stash drop` | -| `gstl` | `git stash list` | -| `gstp` | `git stash pop` | -| `gsta` | On Git >= 2.13: `git stash push` | -| `gsta` | On Git < 2.13: `git stash save` | -| `gsts` | `git stash show --patch` | -| `gst` | `git status` | -| `gss` | `git status --short` | -| `gsb` | `git status --short -b` | -| `gsi` | `git submodule init` | -| `gsu` | `git submodule update` | -| `gsd` | `git svn dcommit` | -| `git-svn-dcommit-push` | `git svn dcommit && git push github $(git_main_branch):svntrunk` | -| `gsr` | `git svn rebase` | -| `gsw` | `git switch` | -| `gswc` | `git switch -c` | -| `gswd` | `git switch $(git_develop_branch)` | -| `gswm` | `git switch $(git_main_branch)` | -| `gta` | `git tag --annotate` | -| `gts` | `git tag -s` | -| `gtv` | `git tag \| sort -V` | -| `gignore` | `git update-index --assume-unchanged` | -| `gunignore` | `git update-index --no-assume-unchanged` | -| `gwch` | `git whatchanged -p --abbrev-commit --pretty=medium` | -| `gwt` | `git worktree` | -| `gwtls` | `git worktree list` | -| `gwtmv` | `git worktree move` | -| `gwtrm` | `git worktree remove` | -| `gk` | `gitk --all --branches &!` | -| `gke` | `gitk --all $(git log --walk-reflogs --pretty=%h) &!` | -| `gtl` | `gtl(){ git tag --sort=-v:refname -n --list ${1}\* }; noglob gtl` | +| Alias | Command | +| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------ | +| `grt` | `cd "$(git rev-parse --show-toplevel \|\| echo .)"` | +| `ggpnp` | `ggl && ggp` | +| `ggpur` | `ggu` | +| `g` | `git` | +| `ga` | `git add` | +| `gaa` | `git add --all` | +| `gapa` | `git add --patch` | +| `gau` | `git add --update` | +| `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]"` | +| `gam` | `git am` | +| `gama` | `git am --abort` | +| `gamc` | `git am --continue` | +| `gamscp` | `git am --show-current-patch` | +| `gams` | `git am --skip` | +| `gap` | `git apply` | +| `gapt` | `git apply --3way` | +| `gbs` | `git bisect` | +| `gbsb` | `git bisect bad` | +| `gbsg` | `git bisect good` | +| `gbsn` | `git bisect new` | +| `gbso` | `git bisect old` | +| `gbsr` | `git bisect reset` | +| `gbss` | `git bisect start` | +| `gbl` | `git blame -w` | +| `gb` | `git branch` | +| `gba` | `git branch --all` | +| `gbd` | `git branch --delete` | +| `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` | +| `gbm` | `git branch --move` | +| `gbnm` | `git branch --no-merged` | +| `gbr` | `git branch --remote` | +| `ggsup` | `git branch --set-upstream-to=origin/$(git_current_branch)` | +| `gbg` | `LANG=C git branch -vv \| grep ": gone\]"` | +| `gco` | `git checkout` | +| `gcor` | `git checkout --recurse-submodules` | +| `gcb` | `git checkout -b` | +| `gcd` | `git checkout $(git_develop_branch)` | +| `gcm` | `git checkout $(git_main_branch)` | +| `gcp` | `git cherry-pick` | +| `gcpa` | `git cherry-pick --abort` | +| `gcpc` | `git cherry-pick --continue` | +| `gclean` | `git clean --interactive -d` | +| `gcl` | `git clone --recurse-submodules` | +| `gccd` | `git clone --recurse-submodules "$@" && cd "$(basename $\_ .git)"` | +| `gcam` | `git commit --all --message` | +| `gcas` | `git commit --all --signoff` | +| `gcasm` | `git commit --all --signoff --message` | +| `gcmsg` | `git commit --message` | +| `gcsm` | `git commit --signoff --message` | +| `gc` | `git commit --verbose` | +| `gca` | `git commit --verbose --all` | +| `gca!` | `git commit --verbose --all --amend` | +| `gcan!` | `git commit --verbose --all --no-edit --amend` | +| `gcans!` | `git commit --verbose --all --signoff --no-edit --amend` | +| `gc!` | `git commit --verbose --amend` | +| `gcn!` | `git commit --verbose --no-edit --amend` | +| `gcs` | `git commit -S` | +| `gcss` | `git commit -S -s` | +| `gcssm` | `git commit -S -s -m` | +| `gcf` | `git config --list` | +| `gdct` | `git describe --tags $(git rev-list --tags --max-count=1)` | +| `gd` | `git diff` | +| `gdca` | `git diff --cached` | +| `gdcw` | `git diff --cached --word-diff` | +| `gds` | `git diff --staged` | +| `gdw` | `git diff --word-diff` | +| `gdv` | `git diff -w "$@" \| view -` | +| `gdup` | `git diff @{upstream}` | +| `gdnolock` | `git diff $@ ":(exclude)package-lock.json" ":(exclude)\*.lock"` | +| `gdt` | `git diff-tree --no-commit-id --name-only -r` | +| `gf` | `git fetch` | +| `gfa` | `git fetch --all --prune` | +| `gfo` | `git fetch origin` | +| `gg` | `git gui citool` | +| `gga` | `git gui citool --amend` | +| `ghh` | `git help` | +| `glgg` | `git log --graph` | +| `glgga` | `git log --graph --decorate --all` | +| `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'` | +| `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'` | +| `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` | +| `glo` | `git log --oneline --decorate` | +| `glog` | `git log --oneline --decorate --graph` | +| `gloga` | `git log --oneline --decorate --graph --all` | +| `glp` | `git log --pretty=` | +| `glg` | `git log --stat` | +| `glgp` | `git log --stat --patch` | +| `gignored` | `git ls-files -v \| grep "^[[:lower:]]"` | +| `gfg` | `git ls-files \| grep` | +| `gm` | `git merge` | +| `gma` | `git merge --abort` | +| `gms` | `git merge --squash` | +| `gmom` | `git merge origin/$(git_main_branch)` | +| `gmum` | `git merge upstream/$(git_main_branch)` | +| `gmtl` | `git mergetool --no-prompt` | +| `gmtlvim` | `git mergetool --no-prompt --tool=vimdiff` | +| `gl` | `git pull` | +| `gpr` | `git pull --rebase` | +| `gprv` | `git pull --rebase -v` | +| `gpra` | `git pull --rebase --autostash` | +| `gprav` | `git pull --rebase --autostash -v` | +| `gprom` | `git pull --rebase origin $(git_main_branch)` | +| `gpromi` | `git pull --rebase=interactive origin $(git_main_branch)` | +| `ggpull` | `git pull origin "$(git_current_branch)"` | +| `ggl` | `git pull origin $(current_branch)` | +| `gluc` | `git pull upstream $(git_current_branch)` | +| `glum` | `git pull upstream $(git_main_branch)` | +| `gp` | `git push` | +| `gpd` | `git push --dry-run` | +| `gpf!` | `git push --force` | +| `ggf` | `git push --force origin $(current_branch)` | +| `gpf` | On Git >= 2.30: `git push --force-with-lease --force-if-includes` | +| `gpf` | On Git < 2.30: `git push --force-with-lease` | +| `ggfl` | `git push --force-with-lease origin $(current_branch)` | +| `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 --force-if-includes` | +| `gpsupf` | On Git < 2.30: `git push --set-upstream origin $(git_current_branch) --force-with-lease` | +| `gpv` | `git push --verbose` | +| `gpoat` | `git push origin --all && git push origin --tags` | +| `gpod` | `git push origin --delete` | +| `ggpush` | `git push origin "$(git_current_branch)"` | +| `ggp` | `git push origin $(current_branch)` | +| `gpu` | `git push upstream` | +| `grb` | `git rebase` | +| `grba` | `git rebase --abort` | +| `grbc` | `git rebase --continue` | +| `grbi` | `git rebase --interactive` | +| `grbo` | `git rebase --onto` | +| `grbs` | `git rebase --skip` | +| `grbd` | `git rebase $(git_develop_branch)` | +| `grbm` | `git rebase $(git_main_branch)` | +| `grbom` | `git rebase origin/$(git_main_branch)` | +| `gr` | `git remote` | +| `grv` | `git remote --verbose` | +| `gra` | `git remote add` | +| `grrm` | `git remote remove` | +| `grmv` | `git remote rename` | +| `grset` | `git remote set-url` | +| `grup` | `git remote update` | +| `grh` | `git reset` | +| `gru` | `git reset --` | +| `grhh` | `git reset --hard` | +| `grhk` | `git reset --keep` | +| `grhs` | `git reset --soft` | +| `gpristine` | `git reset --hard && git clean -dffx` | +| `groh` | `git reset origin/$(git_current_branch) --hard` | +| `grs` | `git restore` | +| `grss` | `git restore --source` | +| `grst` | `git restore --staged` | +| `gunwip` | `git rev-list --max-count=1 --format="%s" HEAD \| grep -q "--wip--" && git reset HEAD~1` | +| `grev` | `git revert` | +| `grm` | `git rm` | +| `grmc` | `git rm --cached` | +| `gcount` | `git shortlog --summary -n` | +| `gsh` | `git show` | +| `gsps` | `git show --pretty=short --show-signature` | +| `gstall` | `git stash --all` | +| `gstu` | `git stash --include-untracked` | +| `gstaa` | `git stash apply` | +| `gstc` | `git stash clear` | +| `gstd` | `git stash drop` | +| `gstl` | `git stash list` | +| `gstp` | `git stash pop` | +| `gsta` | On Git >= 2.13: `git stash push` | +| `gsta` | On Git < 2.13: `git stash save` | +| `gsts` | `git stash show --patch` | +| `gst` | `git status` | +| `gss` | `git status --short` | +| `gsb` | `git status --short -b` | +| `gsi` | `git submodule init` | +| `gsu` | `git submodule update` | +| `gsd` | `git svn dcommit` | +| `git-svn-dcommit-push` | `git svn dcommit && git push github $(git_main_branch):svntrunk` | +| `gsr` | `git svn rebase` | +| `gsw` | `git switch` | +| `gswc` | `git switch -c` | +| `gswd` | `git switch $(git_develop_branch)` | +| `gswm` | `git switch $(git_main_branch)` | +| `gta` | `git tag --annotate` | +| `gts` | `git tag -s` | +| `gtv` | `git tag \| sort -V` | +| `gignore` | `git update-index --assume-unchanged` | +| `gunignore` | `git update-index --no-assume-unchanged` | +| `gwch` | `git whatchanged -p --abbrev-commit --pretty=medium` | +| `gwt` | `git worktree` | +| `gwtls` | `git worktree list` | +| `gwtmv` | `git worktree move` | +| `gwtrm` | `git worktree remove` | +| `gk` | `gitk --all --branches &!` | +| `gke` | `gitk --all $(git log --walk-reflogs --pretty=%h) &!` | +| `gtl` | `gtl(){ git tag --sort=-v:refname -n --list ${1}\* }; noglob gtl` | ### 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, receive further support. -| Alias | Command | Modification | -| :------- | :----------------------------------------------------- | :-------------------------------------------------------- | -| `gap` | `git add --patch` | New alias: `gapa`. | -| `gcl` | `git config --list` | New alias: `gcf`. | -| `gdc` | `git diff --cached` | New alias: `gdca`. | -| `gdt` | `git difftool` | No replacement. | -| `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.) | -| `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`. | -| `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`. | -| `gwc` | `git whatchanged -p --abbrev-commit --pretty = medium` | New alias: `gwch`. | +| Alias | Command | Modification | +| :------- | :-------------------------------------------------------- | :-------------------------------------------------------- | +| `gap` | `git add --patch` | New alias: `gapa`. | +| `gcl` | `git config --list` | New alias: `gcf`. | +| `gdc` | `git diff --cached` | New alias: `gdca`. | +| `gdt` | `git difftool` | No replacement. | +| `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.) | +| `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`. | +| `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`. | +| `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 @@ -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_main_branch` | Returns the name of the main branch: `main` if it exists, `master` otherwise. | | `grename ` | Renames branch `` to ``, 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**) | ### Work in Progress (WIP) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 48937cb83..5ec2bbe2b 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -246,12 +246,12 @@ alias gmom='git merge origin/$(git_main_branch)' alias gmum='git merge upstream/$(git_main_branch)' alias gmtl='git mergetool --no-prompt' alias gmtlvim='git mergetool --no-prompt --tool=vimdiff' + alias gl='git pull' alias gpr='git pull --rebase' -alias gup='git pull --rebase' -alias gupa='git pull --rebase --autostash' -alias gupav='git pull --rebase --autostash --verbose' -alias gupv='git pull --rebase --verbose' +alias gprv='git pull --rebase -v' +alias gpra='git pull --rebase --autostash' +alias gprav='git pull --rebase --autostash -v' function ggu() { [[ "$#" != 1 ]] && local b="$(git_current_branch)" @@ -259,8 +259,8 @@ function ggu() { } compdef _git ggu=git-checkout -alias gupom='git pull --rebase origin $(git_main_branch)' -alias gupomi='git pull --rebase=interactive origin $(git_main_branch)' +alias gprom='git pull --rebase origin $(git_main_branch)' +alias gpromi='git pull --rebase=interactive origin $(git_main_branch)' alias ggpull='git pull origin "$(git_current_branch)"' function ggl() { @@ -388,3 +388,20 @@ alias gk='\gitk --all --branches &!' alias gke='\gitk --all $(git log --walk-reflogs --pretty=%h) &!' 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