当該コミットまで git reset --soft HEAD^ で戻してから git stash save 'hogefuga' でコメントしながらStashしていってる。
git rebase -iを使う。
- 対象のブランチに移動して、修正したいコミットの1つ前のコミットハッシュを取得
$ git log -n 10 --oneline --reverse
8e96afe commit 09.01.
ed0a6b5 commit 09.10.
931681c commit 09.21.
...
※過去10個分のコミットを古い方から表示している。
- 上記のed0a6b5のコミットを修正したい場合。
$ git rebase -i 8e96afe
edit ed0a6b5 commit 09.10.
pickup 931681c commit 09.21.
...
※対象のコミットだけeditとして確定(保存&終了)する。
- 当該コミットがワークブランチに展開される。
この状態で、修正・追加をした後に、git commit --amendを実施することで、元のコミットを修正できる。
また、コミットを分割したい場合は、対象ファイルをgit addした上でgit commitすることで新たにコミットを追加できる。
- 全ての変更を完了した後、git rebase --continueを実施するとワークブランチから抜けて元いたブランチに復帰する。
git logすると対象のコミットが修正されていることが確認できるはず。