summaryrefslogtreecommitdiff
path: root/bin/git-rewrite
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2023-12-13 21:39:47 -0500
committerOwen Jacobson <owen@grimoire.ca>2023-12-13 22:10:56 -0500
commitb7e2019eeed38d3b22f07c51aac8578fd53c9bee (patch)
tree157b6e31f4d053995f113890faa9bed003fdf156 /bin/git-rewrite
parent4f32cdbb3681488b9f9215e253a5754800ebaab8 (diff)
Move aliases to scripts.
The git aliases mechanism is pretty limited; there's some stuff you can't really do without dropping to a shell. If you're going to do that, then custom subcommand scripts are more flexable than aliases that start with ! are.
Diffstat (limited to 'bin/git-rewrite')
-rwxr-xr-xbin/git-rewrite8
1 files changed, 8 insertions, 0 deletions
diff --git a/bin/git-rewrite b/bin/git-rewrite
new file mode 100755
index 0000000..52bcaf9
--- /dev/null
+++ b/bin/git-rewrite
@@ -0,0 +1,8 @@
+#!/bin/bash -e
+
+# Rewrite the current branch, in place: `git rewrite` - unlike `git
+# rebase`, this does _not_ advance the branch onto new upstream
+# changes. You can use this to clean up branch history without
+# worrying about conflicts with others' changes at the same time.
+
+exec git rebase --interactive --onto HEAD...@{upstream}