Чтобы получить неинтерактивную команду, поместите скрипт с этим контентом в ваш PATH:
#!/bin/sh
#
# git-fixup
# Use staged changes to modify a specified commit
set -e
cmt=$(git rev-parse $1)
git commit --fixup="$cmt"
GIT_EDITOR=true git rebase -i --autosquash "$cmt~1"
Используйте его, разместив свои изменения (с помощью git add
), а затем запустите git fixup <commit-to-modify>
. Конечно, он все равно будет интерактивным, если у вас появятся конфликты.