summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorUnnit Metaliya <unnitjmetaliya@gmail.com>2023-02-06 06:07:40 -0500
committerGitHub <noreply@github.com>2023-02-06 12:07:40 +0100
commitd48cbb82b1a44d646c6b12b6bfb13c5fd366e1ae (patch)
tree75a35284d3b57c9b96c3531f37a7419b5df20191 /plugins
parent9b91e8256011240cbf65ba65fbe55c5fd9dbae07 (diff)
downloadzsh-d48cbb82b1a44d646c6b12b6bfb13c5fd366e1ae.tar.gz
zsh-d48cbb82b1a44d646c6b12b6bfb13c5fd366e1ae.tar.bz2
zsh-d48cbb82b1a44d646c6b12b6bfb13c5fd366e1ae.zip
feat(git)!: add `force-if-includes` flag (#11481)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com> Closes #11388 BREAKING CHANGE: `gpf` and `gpsupf` now have the `--force-if-includes` flag if git version is greater than 2.30. It will make force pushes more safer. See https://stackoverflow.com/questions/65837109/when-should-i-use-git-push-force-if-includes
Diffstat (limited to 'plugins')
-rw-r--r--plugins/git/README.md5
-rw-r--r--plugins/git/git.plugin.zsh8
2 files changed, 10 insertions, 3 deletions
diff --git a/plugins/git/README.md b/plugins/git/README.md
index d5eaaa53f..cd018d435 100644
--- a/plugins/git/README.md
+++ b/plugins/git/README.md
@@ -89,7 +89,8 @@ plugins=(... git)
| ggsup | git branch --set-upstream-to=origin/$(git_current_branch) |
| ggu | git pull --rebase origin $(current_branch) |
| gpsup | git push --set-upstream origin $(git_current_branch) |
-| gpsupf | git push --set-upstream origin $(git_current_branch) --force-with-lease |
+| gpsupf | git push --set-upstream origin $(git_current_branch) --force-with-lease --force-if-includes (git version >= 2.30) |
+| gpsupf | git push --set-upstream origin $(git_current_branch) --force-with-lease (git version < 2.30) |
| ghh | git help |
| gignore | git update-index --assume-unchanged |
| gignored | git ls-files -v \| grep "^[[:lower:]]" |
@@ -120,6 +121,8 @@ plugins=(... git)
| gp | git push |
| gpd | git push --dry-run |
| gpf | git push --force-with-lease |
+| gpf | git push --force-with-lease --force-if-includes (git version >= 2.30) |
+| gpf | git push --force-with-lease (git version < 2.30) |
| gpf! | git push --force |
| gpoat | git push origin --all && git push origin --tags |
| gpr | git pull --rebase |
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index fc2c08ccd..7541ccff2 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -199,7 +199,9 @@ alias ggpush='git push origin "$(git_current_branch)"'
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
alias gpsup='git push --set-upstream origin $(git_current_branch)'
-alias gpsupf='git push --set-upstream origin $(git_current_branch) --force-with-lease'
+is-at-least 2.30 "$git_version" \
+ && alias gpsupf='git push --set-upstream origin $(git_current_branch) --force-with-lease --force-if-includes' \
+ || alias gpsupf='git push --set-upstream origin $(git_current_branch) --force-with-lease'
alias ghh='git help'
@@ -235,7 +237,9 @@ alias gma='git merge --abort'
alias gp='git push'
alias gpd='git push --dry-run'
-alias gpf='git push --force-with-lease'
+is-at-least 2.30 "$git_version" \
+ && alias gpf='git push --force-with-lease --force-if-includes' \
+ || alias gpf='git push --force-with-lease'
alias gpf!='git push --force'
alias gpoat='git push origin --all && git push origin --tags'
alias gpr='git pull --rebase'