gitコマンドの使い方 ~ git rm ~

git rm コマンド概要

git rm コマンドは以下の2つの処理を行います。

  • 1. staging-area(ステージングエリア)のインデックスに登録されたファイル情報を削除する
  • 2. working-directory(作業ディレクトリ)からファイルを削除する

オプションの指定により1.のみ実行することも可能です。

git rm コマンドの使い方

git rm [オプション] [file-path]

git rm オプション

オプションなし

git rm [file-path]

指定した file-path のファイルをstarging-area(ステージングエリア)のインデックスに登録されたファイル情報とworking-directory(作業ディレクトリ)からファイルを削除します。

$ ls -l
total 1
-rw-r--r-- 1 snow 197609 4  4月  4 15:16 file-A.txt

$ git ls-files
file-A.txt

$ git rm file-A.txt
rm 'file-A.txt'

$ ls -l
total 0

$ git ls-files

–cached

git rm --cached [file-path]

指定した file-path のファイルをstaging-area(ステージングエリア)のインデックスからファイルを削除します。

$ ls -l
total 1
-rw-r--r-- 1 snow 197609 4  4月  4 15:21 file-A.txt

$ git ls-files
file-A.txt

$ git rm --cached file-A.txt
rm 'file-A.txt'

$ ls -l
total 1
-rw-r--r-- 1 snow 197609 4  4月  4 15:21 file-A.txt

$ git ls-files

working-directory(作業ディレクトリ)からは削除されていませんね。

–f

削除対象のファイルがステージングリアで変更されている場合は、通常削除することはできません。

その場合、強制的に削除するオプションとして-fを指定することで削除することができます。

$ git rm file-B.txt
error: the following file has changes staged in the index:
    file-B.txt
(use --cached to keep the file, or -f to force removal)


$ git rm -f file-B.txt
rm 'file-B.txt'

git rm の全てのオプションを確認する方法

以下のコマンドを実行するとブラウザでgit rmのヘルプページが表示される

git rm --help

Gitコマンドの使い方一覧

Git設定git config ~Gitリポジトリの設定~
初期化git init ~ローカルリポジトリの構築~
ログ&設定値確認git log ~commitログの履歴確認~
git status ~作業ディレクトリとステージングエリアの更新状態確認~
git diff ~commitやファイルの差分確認~
git show ~commitの内容確認~
git remote ~リモート追跡ブランチのリモートリポジトリの設定確認~
git reflog ~HEADやブランチの移動履歴の確認と整理~
ステージングエリアの操作git add ~ステージングエリア(インデックス)にファイル追加~
git ls-files ~ステージングエリア(インデックス)のファイル一覧表示~
git rm ~ステージングエリア(インデックス)のファイル削除~
ローカルリポジトリの操作git commit ~blobやtreeなどをまとめたcommitを作成~
git merge ~指定したブランチの内容を取り込み新しいcommitを作成~
git rebase ~commitの履歴の整理~
git cherry-pic ~特定のcommitの変更内容だけを取り込む~
git cat-file ~リポジトリのオブジェクト(commit,tree,blob)の内容表示~
git revert ~指定したcommitを取り消すcommitを作成~
commitのエイリアスなどgit branch ~commitツリーの枝(ブランチ)を作成~
git tag ~リリースなどのタイミングで特定のcommitに名前を付ける~
git stash ~commitを作成する前の変更内容を一時保存~
commitの内容をステージングエリアや作業ディレクトリに反映git checkout ~commitをステージングエリアと作業ディレクトリに展開~
git reset ~HEADの位置やステージングエリアと作業ディレクトリの内容を変更~
リモートリポジトリとのやり取りgit clone ~リモートリポジトリからローカルリポジトリ作成~
git fetch ~リモートリポジトリのブランチをローカルリポジトリに反映~
git pull ~git fetchとgit mergeを同時に行う~
git push ~ローカルリポジトリのブランチをリモートリポジトリに反映~