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]
|
[include]
|
||||||
path = ~/.dotfiles/git/configs/lfs.gitconfig
|
path = ~/.dotfiles/git/configs/lfs.gitconfig
|
||||||
path = ~/.dotfiles/git/configs/delta.gitconfig
|
path = ~/.dotfiles/git/configs/delta.gitconfig
|
||||||
path = ~/.dotfiles/git/configs/alias.gitconfig
|
|
||||||
|
|
||||||
[push]
|
[push]
|
||||||
default = simple
|
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