【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【Git】ファイルやディレクトリを削除する方法|git rmコマンド

本記事では、Gitでファイルやディレクトリを削除することができる、git rmコマンドについて詳しく解説しています。

Gitの学習におすすめ書籍
改訂2版 わかばちゃんと学ぶ Git使い方入門
総合評価
( 5 )
メリット
  • 漫画形式で読みやすく理解しやすい
  • GitHubを使った実践的な内容も分かりやすい
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

git rmコマンドの使い方

git rmとは、ファイル・デイレクトリを削除することができるコマンドです。

一般的なファイル・ディレクトリの削除は手元にあるものを削除するだけですが、git rmコマンドでファイル・ディレクトリを削除する場合「ワークツリー(手元)」と「リポジトリ」の2つから削除します。

まず始めにファイル削除のコマンドは以下の通りです。

git rm ファイル名

次にディレクトリ削除のコマンドは以下の通りです。

git rm -r ディレクトリ名

実際にgit rmコマンドを使ってファイル削除する

実際にgit rmコマンドを使ってファイル削除していきましょう。今回はindex.htmlがワークツリーとリポジトリにある状態で解説していきます。

まずは、lsコマンドを使って何のファイルがあるか確認します。

ls

index.html	style.css

「index.html」と「style.css」のファイルがあることが確認できます。

次にgit rmコマンドを使ってindex.htmlファイルを削除します。

git rm index.html

これで、index.htmlワークツリーとリポジトリから削除されました。本当に削除されたか確認していきましょう。

まずはワークツリーから削除されたか確認するには、先程と同様に「ls」コマンドを実行します。

ls

style.css

削除前は「index.html」と「style.css」の2つありましたが、今回はstyle.cssのみ表示がされているのでワークツリーからindex.htmlが削除されたのが確認できます。

次にリポジトリからファイルが削除されているか確認するには「git status」コマンドを実行します。

git status

On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	deleted:    index.html

最後にステージに記録されているファイル削除を「git commit」コマンドを使ってコミットします。

git commit -m "delete index.html"

以上が、git rmコマンドの一連の流れになります。

git rmコマンドの便利なオプション

ワークツリー内のファイルだけ残す

Gitで管理しないファイルをリポジトリにアップしてしまった場合、通常のgit rmコマンドではワークツリーのファイルも削除されてしまうため使えません。

このようにリポジトリのみ削除して、ワークツリー内のファイルだけを残したい場合は「–cached」オプションを使いましょう。

今回は、パスワードが記載されている「pw.txt」ファイルを間違えてリポジトリにアップしてしまった場合で解説します。

git rm --cached pw.txt

「ls」コマンドでワークツリーにpw.txtファイルが残っている確認します。

ls

pw.txt

次にリポジトリの状態を「git status」コマンドで確認します。

git status

On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	deleted:    pw.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	pw.txt

Changes to be committed:」とは、リポジトリからpw.txtファイルが削除された記録がステージにある状態のことを指しており、「Untracked files:」は未追跡のファイルがあるワークツリー内にあることを指しています。

この未追跡のファイルとはpw.txtファイルのことでリポジトリからファイルが削除されているためGitではワークツリー内に新しいファイルがあるという認識になっています。

最後にステージに記録されているものをコミットして完了です。

git commit -m "delete pw.txt"

リポジトリに反映させたくないものは、「.gitignore」ファイルに記述することで事前に防ぐことができます。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

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