Можно сделать новую ветку начиная с того коммита, в котором вам нужно поменять сообщение. Сделать в новой ветке commit --amend, потом сделать cherry-pick коммитов которые должны остаться нетронутыми и потом повторить. В конце надо сделать новую ветку мастером. Но это практически тоже самое что вы делаете с rebase -i HEAD~ (это не с конца ветки, а только с нужного коммита).