diff options
| author | Marc Cornellà <marc@mcornella.com> | 2024-08-15 16:48:03 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-15 16:48:03 +0200 |
| commit | c13795d4c40fe075ec8b4450bb78b65ecf8108b2 (patch) | |
| tree | 3ea473a550d1a8d6ee7eae0f918935b1f07b3547 /plugins | |
| parent | d26c4a276610445670fb71d415804625cebd7ccd (diff) | |
| download | zsh-c13795d4c40fe075ec8b4450bb78b65ecf8108b2.tar.gz zsh-c13795d4c40fe075ec8b4450bb78b65ecf8108b2.tar.bz2 zsh-c13795d4c40fe075ec8b4450bb78b65ecf8108b2.zip | |
feat(git)!: ask for confirmation in `gpf` alias (#10169)
- Rename `git push --force-with-lease ...` to `gpff`
- Add a y/n confirmation prompt to `gpf` before running `git push --force-with-lease ...`
BREAKING CHANGE: this change adds a confirmation prompt to the `gpf` alias before
running the potentially destructive `git push --force-with-lease` command. If you
want to force-run the command without having to confirm it, run `gpff`.
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/git/README.md | 8 | ||||
| -rw-r--r-- | plugins/git/git.plugin.zsh | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/plugins/git/README.md b/plugins/git/README.md index bcd9aca96..592840f87 100644 --- a/plugins/git/README.md +++ b/plugins/git/README.md @@ -89,7 +89,7 @@ plugins=(... git) | `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 --tags --prune` | +| `gfa` | `git fetch --all --tags --prune` | | `gfo` | `git fetch origin` | | `gg` | `git gui citool` | | `gga` | `git gui citool --amend` | @@ -133,8 +133,10 @@ plugins=(... git) | `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` | +| `gpf` | On Git >= 2.30: after confirmation, `git push --force-with-lease --force-if-includes` | +| `gpf` | On Git < 2.30: after confirmation, `git push --force-with-lease` | +| `gpff` | On Git >= 2.30: `git push --force-with-lease --force-if-includes` | +| `gpff` | 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` | diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 0a26399a2..99f640e88 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -297,10 +297,13 @@ function ggf() { } compdef _git ggf=git-checkout -alias gpf!='git push --force' +alias 'gpf!'='git push --force' 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='read -k 1 -q "?Continue force-push? [y/N] " && echo && git push --force-with-lease --force-if-includes' \ + || alias gpf='read -k 1 -q "?Continue force-push? [y/N] " && echo && git push --force-with-lease' +is-at-least 2.30 "$git_version" \ + && alias gpff='git push --force-with-lease --force-if-includes' \ + || alias gpff='git push --force-with-lease' function ggfl() { [[ "$#" != 1 ]] && local b="$(git_current_branch)" |
