git: Further improvements to git fixup

This commit is contained in:
2025-09-07 05:17:15 +02:00
parent 02d298a163
commit 9a76b5071e
3 changed files with 19 additions and 3 deletions

View File

@@ -1,2 +0,0 @@
[alias]
fixup = "!f() { TARGET=$(git log -n 50 --pretty=format:'%h %s' --no-merges | fzf | cut -c -7 ); git commit --fixup=$TARGET ${@:2} && GIT_SEQUENCE_EDITOR=true git rebase -i --autostash --autosquash $TARGET^; }; f"

View File

@@ -1,7 +1,6 @@
[include]
path = ~/.dotfiles/git/configs/lfs.gitconfig
path = ~/.dotfiles/git/configs/delta.gitconfig
path = ~/.dotfiles/git/configs/alias.gitconfig
[push]
default = simple

19
git/dot-local/bin/git-fixup Executable file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
TARGET=$1
if [ -z "$TARGET" ]; then
if hash fzf 2>/dev/null; then
TARGET=$(git log -n 50 --pretty=format:'%h %s' --no-merges | fzf --border-label='Select commit' | cut -c -7 )
else
echo "Not installed: fzf"
exit -1
fi
fi
if [ -z "$TARGET" ]; then
echo "No target specified"
exit -1
fi
git commit --fixup=$TARGET ${@:2} && GIT_SEQUENCE_EDITOR=true git rebase -i --autostash --autosquash $TARGET^