19 lines
447 B
Bash
19 lines
447 B
Bash
|
if [ -n "${1:-}" ]; then
|
||
|
TARGET_BRANCH="$1"
|
||
|
shift
|
||
|
else
|
||
|
TARGET_BRANCH=$(git remote show origin | sed -n '/HEAD branch/s/.*: //p')
|
||
|
fi
|
||
|
|
||
|
FORK_POINT=$(git merge-base --fork-point "$TARGET_BRANCH")
|
||
|
|
||
|
COMMITS_SINCE_FORK_POINT=$(git log --format=format:'%s' "$FORK_POINT"..HEAD | grep -v -E '^fixup!')
|
||
|
|
||
|
RESULT=$(fzf <<<"$COMMITS_SINCE_FORK_POINT")
|
||
|
|
||
|
if [ "$RESULT" == "" ]; then
|
||
|
echo "Doing nothing..."
|
||
|
else
|
||
|
git commit -m "fixup! $RESULT" "$@"
|
||
|
fi
|