Как изменить сообщение любого конкретного коммита?
Несмотря на большое количество этого вопроса в интернете, нормального решения я так и не нашел. В основном предлагают git rebase -i, но он как-то жестко перелопачивает все последующие коммиты, меняя их дату и порядок в списке, что плохо.
Нашел более-менее оптимальное решение:
git filter-branch -f --msg-filter '
if [ "$GIT_COMMIT" = "$(git rev-parse --verify <коммит>)" ]
then
echo develop1
else
sed "s/.*/\0/g"
fi
' -- --all
filter-branch это пакетная команда, и она идет по всем коммитам, из-за чего приходится в передаваемом скрипте анализировать коммит и в случае неудачи вызывать sed "s/.*/\0/g", иначе на все коммиты, кроме заданного, будут установлены пыстые сообщения. Есть ли возможность filter-branch-у задать конкретный коммит, или короче этой записи уже ничего не сделать? Возможно, есть другие способы изменения сообщения?