ローカルの変更を取り消す
ファイルのステージング解除や過去のコミットの変更など、ローカルの変更を元に戻したりリセットしたりするさまざまな方法を学びます。
「ローカルの変更を取り消す」はCoddyKit上の無料Git & GitHub Professional Workflowレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはGit & GitHub Professional Workflow学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Git & GitHub Professional Workflowコースには全4レッスンが含まれています。
おっと!ローカルの変更を元に戻す
プロジェクトの作業中に、間違えたり気が変わったりしたことはありませんか?心配はいりません。誰にでもあることです!
Git には、ローカルリポジトリの変更を元に戻すための強力なツールがあります。このレッスンでは、不要な変更を安全に取り消す方法を説明します。
まずは常に `git status` を実行する
何かを元に戻す前に、リポジトリの現在の状態を把握することが重要です。ここでは git status コマンドが最も頼りになります。
このコマンドを使うと、変更済み、ステージ済み(コミット可能な状態)、または追跡対象外のファイルを確認できます。
git statusステージ済みのファイルをアンステージする
場合によっては、git add でファイルをステージング領域に追加した後、次のコミットに含めたくないことに気付く場合があります。
git restore --staged <file> を使うと、そのファイルを「アンステージ」して、変更済み(未ステージ)の状態に戻せます。
git add my_feature.js
git status
git restore --staged my_feature.js
git status作業ディレクトリの変更を破棄する(ファイル)
作業ディレクトリのファイルを変更したものの、まだステージしておらず、その変更を完全に破棄したい場合はどうすればよいでしょうか?
git restore <file> コマンドを使うと、そのファイルを最後にコミットした状態に戻し、ローカルで加えた変更を実質的に削除できます。
echo "new content" > index.html
git status
git restore index.html
git statusコミットされていない変更をすべて破棄する
この操作には注意してください! 作業ディレクトリにある、まだコミットしていないすべての変更を破棄したい場合は、git restore . を使えます。
これにより、現在のディレクトリとそのサブディレクトリにあるすべての変更済みファイルが、最後にコミットした状態に戻ります。未ステージの変更は失われます。
echo "change 1" > file1.txt
echo "change 2" > file2.txt
git status
git restore .
git status直前のコミットメッセージを修正する
直前のコミットメッセージにタイプミスがありましたか?重要な内容を書き忘れていませんか?
git commit --amend を使うと、直前のコミットのメッセージを修正(編集)できます。このコマンドを実行すると、既定のテキストエディターが開き、メッセージを変更できます。
git commit --amend -m "Updated commit message with fix"不足しているファイルを追加するためにコミットを修正する
直前のコミットにファイルを含め忘れましたか?問題ありません。
忘れていたファイルを git add でステージし、次に git commit --amend --no-edit を実行します。これにより、メッセージを変更せずに、ステージ済みのファイルを直前のコミットに追加できます。
git add new_script.py
git commit --amend --no-edit`git restore` が推奨される理由
アンステージには git reset HEAD <file>、変更の破棄には git checkout -- <file> を使うよう勧める古いガイドを見かけることがあります。
これらも機能しますが、git restore は、こうした操作をより明確かつ安全にするために導入された、より新しく直感的なコマンドです。変更を元に戻すことに特化して設計されています。
まとめて確認:ある状況を例に考える
config.json を変更してステージした後、間違いに気付き、その変更を完全に破棄したいとします。
- まず、アンステージします。
- 次に、最後にコミットしたバージョンへ復元します。
echo "bad config" > config.json
git add config.json
git status
git restore --staged config.json
git restore config.json
git statusクイックチェック:変更を元に戻す
作業ディレクトリの data.csv を変更しましたが、まだステージしていません。これらの変更を完全に破棄し、data.csv を最後のコミット時の状態に戻すことにしました。
まとめ:変更を元に戻す方法を身につける
よくできました!Git でローカルの変更を安全に元に戻す方法を学びました。
git statusで現在の変更を確認します。git restore --staged <file>でファイルをアンステージします。git restore <file>で、ファイルの作業ディレクトリ上の変更を破棄します。git restore .で、作業ディレクトリにある未ステージの変更をすべて破棄します(使用には注意が必要です!)。git commit --amendで、直前のコミットメッセージを修正したり、不足しているファイルを追加したりします。
これらのコマンドは、正確で整理されたプロジェクト履歴を維持するために欠かせません。
よくある質問
「ローカルの変更を取り消す」レッスンは無料ですか?
はい。「ローカルの変更を取り消す」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Git & GitHub Professional Workflowコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Git & GitHub Professional Workflowコースには全4レッスンが含まれています。
「ローカルの変更を取り消す」で何を学びますか?
ファイルのステージング解除や過去のコミットの変更など、ローカルの変更を元に戻したりリセットしたりするさまざまな方法を学びます。 ブラウザで直接実行するハンズオンコードでGit & GitHub Professional Workflowを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Git & GitHub Professional Workflowを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのGit & GitHub Professional Workflowは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「ローカルの変更を取り消す」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このGit & GitHub Professional Workflowレッスンでコードを書いて実行できますか?
はい。すべてのGit & GitHub Professional Workflowレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ステージング、コミット、履歴
- ローカルの変更を取り消す
- ブランチとマージの基礎
- 作業途中の変更を一時退避する