Вы можете записать новое сообщение о коммите в файл (скажем, msg.txt
) и использовать git commit-tree
, например,
new_head=$(git commit-tree HEAD^{tree} -p HEAD^ <msg.txt)
git reset --soft $new_head
Это предполагает, что коммит, который вы вносите, имеет одного родителя, если не вынужно поставить дальше -p HEAD^2 -p HEAD^3 ...
.
Это немного некрасиво и низкий уровень.Возможно, вам будет проще сохранить ваши изменения и использовать прямую «поправку».
git stash
git commit --amend
git stash pop --index
Как подсказывает @Jefromi, вы также можете использовать временный индексный файл для операции внесения изменений, например,
* 1013.*