👏
git rm --cached ファイルをリモートリポジトリのみ削除する
概要
ローカルリポジトリのファイルは残してリモートリポジトリのファイルのみを消したいときがあります。
そんなときには、自分は以下の手順で削除しています。
git rm --cached 削除したいファイル
- 変更を push
-
.gitignore
にファイルを追加して Git の追跡から外す
コマンドの意味
コマンド | 意味 |
---|---|
rm |
通常の unix コマンド |
git rm |
Git コマンドオプションの 1 つ。ファイルの履歴(index)ごと消す。working tree のファイルも削除される |
git rm --cached |
ファイルの履歴(index)のみ削除する。working tree のファイルは残る |
Discussion
rm
は、ファイルやディレクトリを削除するためのunixのコマンドです。git rm
は、gitのworking treeとindexからファイルを削除するコマンドです。git rm --cached
はgitのindexからファイルを削除し、working treeには影響を与えないコマンドです。全てローカルリポジトリのみで完結した話で、リモートリポジトリは関係ありません。
indexとかworking treeはこんな感じのものです。
上記を参考に記事の修正を検討してみて下さい。
エンジニア同士、今後も勉強もアウトプットも頑張っていきましょう!!
コメントのほどありがとうございます!
git rm --cached
を実行でリモートブランチからファイルを削除して、ローカルに残すことを想定していました。
しかし、この文章のままだとわかりづらいので、修正しました。
アドバイスのほどありがとうございました。