6
5

はじめに

ミニアプリをデプロイしたのですが、
共有すべきでないファイルがGithubに上げられていました。

ローカルのファイルを削除することなく、GIthubにあるファイルのみを削除する方法の備忘録です。

ファイルの場合

今回は.DS_Storeを削除します。
.DS_StoreはmacOSが使用するファイルであり、共有されるべきではありません。

.gitignore

(作成していない場合)
.gitignoreを作成します。

% touch .gitignore

.DS_Storeを追跡しないよう、設定します。

.gitignore
.DS_Store

Indexから削除

先程の設定は「新しく追跡しない」設定です。
「すでに追跡されたファイル」はそのままのため、ファイルの追跡を解除します。

以下のコマンドにより、gitの追跡が解除されます。
--cachedオプションにより、ファイル自体は削除されません。

% git rm --cached .DS_Store

その後は、通常通りadd commit pushでOKです。

% git add .
% git commit -m ".DS_Storeを削除"
% git push origin main

フォルダの場合

続いてnode_modulesを削除します。
node_modulesはサイズが大きく、
依存関係や開発環境・本番環境ごとの使い分けもあります。
都度インストールすべきで、package.json package-lock.jsonがあれば十分です。

.gitignore

(作成していない場合)
.gitignoreを作成します。

% touch .gitignore

node_modulesを追跡しないよう、設定します。

.gitignore
node_modules/

Indexから削除

先程の設定は「新しく追跡しない」設定です。
「すでに追跡されたファイル」はそのままのため、ファイルの追跡を解除します。

以下のコマンドにより、gitの追跡が解除されます。
--cachedオプションにより、ファイル自体は削除されません。

フォルダの場合は、-rオプションで、再帰的に内部のファイル・フォルダも対象にします。

% git rm -r --cached node_modules

その後は、通常通りadd commit pushでOKです。

% git add .
% git commit -m ".DS_Storeを削除"
% git push origin main
6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5