コミットメッセージを変更する - rebase編
準備
もう一つのパターン説明のために、2つのコミットを追加します
$ echo "hoge" >> readme.txt $ git add readme.txt $ git commit -m "hoge追加" $ echo "hogehoge" >> readme.txt $ git add readme.txt $ git commit -m "hogehoge追加"
これでコミットが2つできました
$ git log --oneline 9859ba9 hogehoge追加 0c1b4b9 hoge追加 6e65c18 readme.txt追加
これで準備OK
修正
前回の記事ではamendで修正しましたが
amendは直前のコミットを修正するオプションなので
$ git commit --amend "readme.txtにhoge追加"
としてしまうと「hogehoge追加」が「readme.txtにhoge追加」になってしまいます
なので今回はamendではなく、rebaseを使いたいと思います
$ git rebase -i head~2
git rebaseコマンドを -i (インタラクティブモード)で使う
headから2つ、って感じの意味です
実行すると以下の画面が表示されます
pick 0c1b4b9 hoge追加 pick 9859ba9 hogehoge追加 # Rebase 6e65c18..9859ba9 onto 6e65c18 # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # # However, if you remove everything, the rebase will be aborted. # # Note that empty commits are commented out
英語で書いてありますが
r, rewordを使用します
変えたいコミット(今回場合hoge追加)の「pick」を「r」に変更します
「r」に変更し、エディタを保存して終了すると、もう一度エディタが起動します
ここでメッセージを書き換えて、保存して終了すると
コミットのメッセージが書き換わります
$ git log --oneline e45c676 hogehoge追加 64f5eb1 readme.txtにhoge追加 6e65c18 readme.txt追加