第5回 | git restore で変更を戻す方法と Git 基本ワークフローの総まとめ | 残す流れと戻す流れをやさしく整理する|UNIX Cafe

* 当サイトでは、コンテンツの一部に広告を掲載しています。

System Note $ cat /proc/ai-disclosure

本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。

第5回 | git restore で変更を戻す方法と Git 基本ワークフローの総まとめ | 残す流れと戻す流れをやさしく整理する|UNIX Cafe

Git 入門 | 第5回

Git を使っていると、「試しに直してみたけれど、やっぱり元に戻したい」という場面が必ず出てきます。変更を残す方法と同じくらい、戻す方法を知っておくことが大切です。

今回はシリーズの最終回として、git restore で変更を戻す基本を見たあと、これまで学んできた流れを通して整理します。個別のコマンドがひとつの流れとしてつながると、Git の使い方がぐっと安定してきます。

📝 この記事で学べること

  • git restore が役立つ場面と使い方
  • 戻す前に確認する流れ
  • --stagedadd を取り消す方法
  • 初心者がつまずきやすいポイントと対処
  • 残す流れと戻す流れを通して見た Git の基本ワークフロー
目次

git restore | 未記録の変更を元に戻す

今回扱うのは、まだ commit していない変更を元に戻したい場面です。編集してみたけれどやっぱりやめたい、余計な変更が混ざってしまった、そういうときに git restore が使えます。

git restore notes/today.txt

このコマンドを実行すると、指定したファイルが最後に commit した状態へ戻ります。編集した内容は消えるので、「本当に戻してよいか」を確認してから使うことが大切です。

戻す前に確認する流れ

Git では「見てから進む」という考え方が一貫して大切です。戻すときも例外ではありません。いきなり git restore を実行するのではなく、まず今の状態を確認してから判断する習慣をつけましょう。

  1. git status で変更があるファイルを確認する
  2. git diff で変更の中身を見る
  3. 本当に戻してよいと判断してから git restore する
git status
git diff
git restore notes/today.txt

この 3 ステップを踏むだけで、必要な変更まで消してしまうミスをかなり防げます。

git restore –staged | add を取り消す

git add してしまったあとに「やっぱりこのファイルは今回の commit に含めたくない」と気づいた場合は、--staged をつけて add を取り消せます。

git restore --staged notes/today.txt

これはファイルの内容を変えるわけではありません。「記録候補から外す」だけの操作です。ファイルの編集内容はそのまま残ります。

コマンド何をするかファイルの中身
git restore ファイル名編集を取り消して元に戻す変更前の状態に戻る
git restore --staged ファイル名add を取り消す編集内容はそのまま残る

初心者がつまずきやすいポイント

戻したら編集内容が消えた

git restore は元に戻す操作なので、それ以降に加えた編集は消えます。この操作は取り消せません。実行前に git diff で中身を確認し、本当に戻してよいかを判断してから使いましょう。

add を取り消したいのに内容まで消えた

--staged をつけ忘れて git restore ファイル名 を実行すると、編集内容ごと消えてしまいます。add だけを取り消したい場合は git restore --staged ファイル名 を使います。迷ったときは先に git status で状態を確認してから判断しましょう。

commit 済みの変更は git restore では戻せない

今回扱った git restore は、まだ commit していない変更を対象にしています。commit 済みの変更を戻す方法は別のコマンドになりますが、入門段階ではまずここだけ覚えれば十分です。

Git の基本ワークフローを通して見る

ここまでのシリーズで学んできたコマンドを、実際の作業の流れとしてつなげて整理します。Git の操作は大きく「残す流れ」と「戻す流れ」の 2 つに分けて考えると分かりやすいです。

残す流れ

git status
git diff
git add notes/today.txt
git diff --staged
git commit -m "メッセージ"
git log --oneline

戻す流れ

git status
git diff
git restore notes/today.txt

どちらの流れも、最初に git status で状態を確認するところから始まります。迷ったときはまずここへ戻る、という習慣がそのまま両方の流れの入口になっています。

各コマンドの役割をまとめる

コマンド役割使うタイミング
git status全体の状態を見る何かする前・迷ったとき
git diff変更の中身を見るadd の前
git add今回残したい変更を選ぶcommit の前
git diff --staged記録予定の内容を確認するcommit の直前
git commit履歴として残す内容を確認したあと
git log履歴をたどる記録後・振り返るとき
git restore未記録の変更を戻す編集をやり直したいとき

この表を頭に入れておくと、Git で迷ったときに「今はどの段階にいるのか」を考えやすくなります。

シリーズを終えて

このシリーズでは、Git を難しいコマンドの集まりとしてではなく、「変更を安全に扱うための流れ」として見ることを大切にしてきました。

状態を見る。中身を確認する。必要な変更を選ぶ。記録する。見返す。必要なら戻す。この流れがつかめれば、Git 入門としての土台はできています。vi で直し、Git で残す。このつながりが見えてくると、日々の作業はかなり安定してきます。

まずは小さな変更で何度か試しながら、流れに慣れていきましょう。

もう一度、はじめからゆっくりと

ここまで読み進めてきた今、もう一度最初の回に戻ってみてください。

はじめは少し手探りに感じた操作も、きっと違った景色に見えてくるはずです。

Git は、一度で身につけるものではなく、何度か流れを行き来しながら、少しずつ手に馴染んでいく道具です。

最初の一歩に戻ることは、後退ではありません。それは、理解を確かなものにするための大切な一歩です。

👉 もう一度、第1回から読み直してみましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe マスター

Macintosh Color Classicから始まった旅は、長いWindows時代を経て、Windows10のサポート終了をきっかけにUNIXの世界へ戻ってきました。UNIX Cafeでは、UNIX・Linux・そしてMacな世界を、むずかしい言葉を使わず、物語のように書いています。プログラミングは、アイデアをコンピューターに伝えるための言葉です。簡単な単語と文法を覚えれば、誰でもコマンドを使えます。ぜひ一度、やさしいプログラミングの世界をのぞいてみてください。

Created by UNIX Cafe

目次