この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:atom
更新日時:2026-05-11 16:41:45

タイトル: git rm [-r --cached] の取り消し
SEOタイトル: Gitのgit rm [-r --cached] の取り消し方

結論

git rmgit rm --cached を取り消したい場合は、まず インデックスから元に戻すのが基本です。

git reset HEAD [ファイル名]

git rm --cached を取り消す場合

git rm --cached は、ファイルをワークツリーには残したまま、Git の管理対象から外すコマンドです。
この操作を取り消したいなら、まず git reset HEAD でステージ状態を戻します。

git rm との違い

  • git rm : Git 管理対象から外し、ワークツリー上のファイルも削除する
  • git rm --cached : Git 管理対象から外すが、ローカルファイルは残す

どちらを取り消すかで、次に必要な操作が変わります。

git rm --cached の取り消し例

git rm --cached sample.txt

git reset HEAD sample.txt

git rm でワークツリー上のファイルも消した場合

git rm でファイル自体も消えている場合は、インデックスだけでなく作業ツリーにも戻す必要があります。

git reset HEAD sample.txt

git checkout -- sample.txt

Git の新しめの書き方なら、次の形でも戻せます。

git restore --staged sample.txt

git restore sample.txt

ディレクトリごと取り消したい場合

-r を付けて消した場合も、同じ考え方です。対象パスに対して staged / worktree を戻します。

まとめ

git rm [-r --cached] の取り消しは、まず git reset HEAD [ファイル名] でステージを戻すのが基本です。
もしワークツリー上のファイルも消えているなら、追加で git checkout -- [ファイル名] または git restore を使ってファイル本体も戻します。