変更を元に戻す
あなたのセーフティネット
⏱ 想定 ~8 分
01 · 読む
間違って編集した?git はファイルを 元に戻して、最後の commit のバージョンに復元できます。セーフティネットのようなもの —— 最近 commit していれば、いつでも良い状態に戻れます。
💡 想像してみてくださいgit checkout -- をファイル全体の Ctrl+Z だと思ってください。うっかり文章を半分消してしまっても、最後に撮ったスナップショット(commit)から救出できます。重要: 戻せるのは前に保存したものだけです。
ポイントまとめ
- git checkout -- filename はファイルを最後の commit の状態に戻します
- そのファイルの commit されていない変更はすべて捨てられます —— 永久に消えます
- だから頻繁に commit することが大切: commit が多い = 復元ポイントも多い
02 · ターミナル演習
まずは git リポジトリを作って、セーフティネットを用意しましょう。
(このセクションはインタラクティブです — JavaScript を有効にしてください。)
03 · ターミナル演習
ファイルを stage しましょう。
(このセクションはインタラクティブです — JavaScript を有効にしてください。)
04 · ターミナル演習
この動作するバージョンを commit しましょう。
(このセクションはインタラクティブです — JavaScript を有効にしてください。)
05 · クイズ
頻繁に commit するのが良い習慣なのはなぜですか?
- git は 1 時間に少なくとも 1 回 commit することを要求するから
- commit が多い = 何か起きたときの復元ポイントが多い
- リポジトリが小さくなるから
- git diff を使う前に必ず commit しないといけないから
06 · ターミナル演習
やってしまった!うっかりファイル全体をゴミで上書きしてしまいました。
(このセクションはインタラクティブです — JavaScript を有効にしてください。)
07 · ターミナル演習
惨状を自分の目で見てみましょう。
(このセクションはインタラクティブです — JavaScript を有効にしてください。)
08 · ターミナル演習
git checkout でファイルを最後の commit のバージョンに戻しましょう。-- は git に、ブランチではなくファイルを指していると伝えます。
(このセクションはインタラクティブです — JavaScript を有効にしてください。)
09 · クイズ
うっかり app.js の大事なコードを削除してしまい、まだ commit していません。git checkout -- app.js を実行すると何が起きますか?
- app.js という新しいブランチを作る
- app.js を永久に削除する
- app.js を最後の commit のバージョンに戻す
- app.js の変更内容の diff を表示する
⚠ 全機能のインタラクティブ体験には JavaScript が必要です。JavaScript を有効にして再読み込みしてください。
※ このサイトは独立した教育プロジェクトで、Anthropic の公式製品ではありません。Claude™ は Anthropic, PBC の商標です。