はじめに
Githubを使う人なら誰でも直面する問題。
そう、数多のgit commit
によって引き起こされる
どのファイルの何を編集したかわからなくなる問題。
git commit -m
で何かしらのコメントを残すだろうけれど、それで全体像が把握できるわけもなく。
場合によっては、コメントが原因でわかりにくくなってしまうかも。
そんな状況になってしまった時のためにコミットを整理する方法を覚えておこう!!
環境
端末上の操作を行うため、tmuxがあると便利。
導入してなければ、コミットの番号?を記録できるものを用意
commit整理手順
ログの確認
glgga
かgit log
を使ってコミットの情報を調べる。
そこで表示された情報をたどりながら、戻りたいcommitを見つけて、その番号を記録する。
tmux
使っている人は、ペイン分割すればOK。
glgga
…git logをツリー上にして表示してくれるコマンド不要なコミットを削除する
git reset --hard HEAD〜○
でHEADから戻りたいcommitの一つ前のcommitまでを数える。
数えたら、その数を○に入れる。
*git reset --hard…commitごとファイルを削除するコマンドほしいコミットだけを取り入れる
git reset --hard
で削除したcommitからgit cherry-pick
で必要なcommitを持ってくる。
だいたいコンフリクトが起こるので、どっちかを選んで、git commit
Githubへ反映
ローカルで行った、コミットの削除などをリモートに強制的に反映させる。
操作例
$ glgga
$ git reset --hard HEAD〜○
$ git cherry-pick (commit ID)
$ git push --force