🍞

git rm --cached でリモートリポジトリのファイルを削除する

2024/02/12に公開

GitHub上のリポジトリに不要なファイルを公開してしまっていたため、削除する操作を行いました。

操作手順

  1. gitのインデックス(ステージングエリア)からファイルを削除。今回は--cachedオプションで作業ツリーのファイルは残すようにした。
    git rm --cached 削除したいファイル
    
    https://git-scm.com/docs/git-rm#Documentation/git-rm.txt---cached
  2. .gitignoreにファイルを追加し、今後gitに追跡させないようにする。
  3. 変更をコミットしてpush

--cachedについて

  • git rm
    ファイルをGitのインデックス(ステージングエリア)と作業ツリーから削除する。
  • git rm --cached
    --cachedオプションは、インデックス(ステージングエリア)からはファイルが削除されるが、作業ツリーには影響を与えなくするためファイルは残される。

おわりに

rubocopのキャッシュなど不要なファイルををリモートリポジトリにプッシュしてしまっていたので、git rm --cachedでファイルを削除しました。
実際にコマンドを実行してみて、git rm --cachedではリモート上ではファイルが削除されるが、ローカルの作業ツリーではファイルが保持されていることを確認できました。

Discussion