投稿

[GitHub 100日チャレンジ] Day 62 - Git Resetの実践

コミットメッセージ修正、誤ったファイルの除外、実験コミットの削除など、git resetの実務シナリオを学びます。

[GitHub 100日チャレンジ] Day 62 - Git Resetの実践

実務でのreset

git resetは、単に「戻す」ためだけの命令ではありません。コミットを作り直したり、stageを整理したり、ローカルの実験を片付けたりするために使います。

コミットメッセージを直す

1
2
3
git commit -m "fix bug"
git reset --soft HEAD~1
git commit -m "fix: handle null user name"

--softなら変更はstageに残るため、メッセージだけを整えて再コミットできます。

誤って入れたファイルを外す

1
2
3
4
5
git add .
git commit -m "feat: add login"
git reset HEAD~1
git add src/ .gitignore
git commit -m "feat: add login"

--mixedなら作業内容は残しつつ、stageをやり直せます。

実験を捨てる

1
git reset --hard HEAD~3

これは最近3つのコミットと未コミット変更を捨てます。実行前にバックアップブランチを作ると安全です。

1
git branch backup-before-reset

reset前チェック

  • push済みではないか確認する
  • git log --oneline -5 で戻る位置を見る
  • git status で未保存の変更を見る
  • 不安ならバックアップブランチを作る

今日のゴール

resetは状況ごとに選ぶ道具です。メッセージ修正、stage整理、実験削除で使うオプションを選べるようにしましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。