どうも、インディです。
本日はgitですでにコミットした内容を修正する方法についてです。
普段作業をしていて、「あーこの前コミットした内容ミスってた」っていうことってよくありますよね。
そんなとき、皆さんならどうしていますでしょうか。
僕はこの前まで、間違えた部分だけ訂正して新しくコミットしていました。
しかし、これだとチームでコードを見る際レビューがしにくいんですよね。
なので、ミスったコミットに戻って訂正する、という作業はとても大事なんです。
最近になってようやくその方法を学んだので共有します。
手順まとめ
手順を一気にまとめたのがこちら!
①
git revase -i HEAD~ // 修正するコミットを表示、HEADの後の「~」で最新から一つ前までを表示
②
「pick コミット名」と表示されるので、修正したいコミットだけ「pick」から「edit」に変更、保存
③
内容を修正
④
git add .
git commit --amend // 変更終了
⑤
git revase --continue // revase完了、これを忘れない
詳細説明
修正するコミットを表示
まず、修正するコミットを表示します。
git revase -i
コミットを直接選択するのでもいいのですが、便利な方法があります。
git revase -i HEAD~
をすると、一番先頭のコミットが表示され、それから「~」を付け足していく度に過去に遡れます。
git revase -i HEAD~~~ //HEAD ~ 3番目までを表示
すると、テキストエディタが表示され、該当のコミットが表示されます。
コミットを選択、editモードに変更
テキストエディタの上部にコミット名が表示されると思うので、変更したいコミットの「pick」の文字を「edit」に変えてあげましょう。
「:wq」で保存します。
内容を修正
その状態で、修正したい部分を直します。
変更終了
修正し終えたら、ステージングにあげ、変更終了します。
git add .
git commit --amend
revaseを完了
そして、最後にrevaseを完了させます。
git revase --continue
こちらは忘れずに行いましょう!
まとめ
いかがだったでしょうか。
もし説明間違えているところあれば教えてくだされば嬉しいです。
コメント