git: Further improvements to git fixup
This commit is contained in:
@@ -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"
|
||||
@@ -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
19
git/dot-local/bin/git-fixup
Executable 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^
|
||||
Reference in New Issue
Block a user