From 14f7b4425f464c6376fb1736aaec2a1cd0f7f938 Mon Sep 17 00:00:00 2001 From: Jeremy Kaplan Date: Mon, 14 Dec 2020 00:05:35 -0800 Subject: [PATCH] bin: git-rebase-all --- bin/git-rebase-all | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 bin/git-rebase-all diff --git a/bin/git-rebase-all b/bin/git-rebase-all new file mode 100755 index 0000000..c676d16 --- /dev/null +++ b/bin/git-rebase-all @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +export USAGE='[]' + +# This is the recommended pattern from `man git-sh-setup`. +# +# shellcheck disable=SC1090 +. "$(git --exec-path)/git-sh-setup" + +set -euo pipefail + +case "$#" in + 0) + base=$(git remote show origin | grep "HEAD branch" | awk '{ print $3 }') + ;; + 1) + base="$1" + ;; + *) usage ;; +esac + +git branch --list --format='%(refname:short)' \ + | xargs --verbose -n 1 git rebase "${base}"