[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 の下でライセンスされています。
