Gitステージングの取り消し方法とは?初心者でもわかるコマンド活用ガイド
こんにちは、とまだです。
Gitで作業していて、「ファイル間違えてステージングしちゃった」と思ったことはありませんか?
私も最初の頃は、git add .でファイルを一括ステージングした後に「このファイルは含めたくなかった...」と焦ったものです。でも大丈夫です。Gitには、ステージングを取り消す便利な方法がちゃんと用意されています。
今回は、Gitのステージング取り消し方法について、初心者の方でも理解できるように解説していきます。
ステージングとは?
ステージングは、コミットの準備をする段階のことです。
料理に例えると、まな板の上に材料を並べるようなもの。実際に調理(コミット)する前に、どの材料を使うか選んでいる状態ですね。
Gitでは、変更したファイルをgit addコマンドでステージングエリアに追加します。
# 特定のファイルをステージング
git add index.html
# すべての変更をステージング
git add .
でも時には、間違えてファイルを追加してしまうことがあります。
そんなときに使えるのが、今回紹介する取り消しコマンドです。
ステージングを取り消す3つの方法
1. git restore --staged(推奨)
Git 2.23以降で導入された、わかりやすいコマンドです。
# 特定のファイルのステージングを取り消す
git restore --staged index.html
# すべてのファイルのステージングを取り消す
git restore --staged .
このコマンドの良いところは、名前から「何をするか」が明確なこと。
restore(復元)という単語から、ステージング前の状態に戻すことがイメージしやすいですよね。
2. git reset HEAD
従来から使われている方法です。
# 特定のファイルのステージングを取り消す
git reset HEAD index.html
# すべてのファイルのステージングを取り消す
git reset HEAD .
HEADは現在のコミットを指す特別な名前。
このコマンドは「現在のコミットの状態にリセットする」という意味になります。
3. git rm --cached
新規追加したファイルのステージングを取り消すときに使います。
git rm --cached newfile.txt
ただし、このコマンドは少し特殊です。
すでにGitで管理されているファイルに使うと、次のコミットでそのファイルが削除されてしまうので注意が必要です。
実務でよく使うシーン
シーン1:一括ステージング後の部分的な取り消し
開発中によくあるパターンです。
# すべてをステージング
git add .
# でも設定ファイルは含めたくない
git restore --staged config.json
# 状態を確認
git status
シーン2:コミット前の最終チェック
コミット前に、本当に必要なファイルだけがステージングされているか確認します。
# ステージング状態を確認
git status
# 不要なファイルがあれば取り消す
git restore --staged debug.log
git restore --staged temp/
# 再度確認してからコミット
git status
git commit -m "必要な変更のみをコミット"
シーン3:.gitignoreに追加し忘れたファイル
うっかり.gitignoreに追加し忘れたファイルをステージングしてしまった場合。
# ステージングを取り消す
git restore --staged node_modules/
# .gitignoreに追加
echo "node_modules/" >> .gitignore
# .gitignoreをステージング
git add .gitignore
初心者が気をつけるポイント
1. 作業内容は消えない
ステージングを取り消しても、ファイルの変更内容は残ります。
あくまで「コミット候補から外す」だけなので、安心して使ってください。
2. コマンドの使い分け
基本的にはgit restore --stagedを使いましょう。
意味がわかりやすく、最新のGitで推奨されている方法です。
3. 状態確認を習慣に
# 作業前
git status
# ステージング後
git status
# 取り消し後
git status
こまめにgit statusで状態を確認する習慣をつけると、ミスを防げます。
まとめ
Gitのステージング取り消しは、日常的に使う重要な操作です。
特にgit restore --stagedは直感的でわかりやすいので、まずはこれを覚えておきましょう。
最初は慎重に一つずつファイルを指定して取り消すことから始めて、慣れてきたら効率的に作業できるようになります。
Gitは失敗を恐れずに使えるツールです。
ステージングの取り消しも、何度でもやり直せるので、積極的に使って慣れていってくださいね。
著者について

とまだ
フルスタックエンジニア
Learning Next の創設者。Ruby on Rails と React を中心に、プログラミング教育に情熱を注いでいます。初心者が楽しく学べる環境作りを目指しています。
著者の詳細を見る →