はじめに
ミニアプリをデプロイしたのですが、
共有すべきでないファイルがGithubに上げられていました。
ローカルのファイルを削除することなく、GIthubにあるファイルのみを削除する方法の備忘録です。
ファイルの場合
今回は.DS_Store
を削除します。
.DS_Store
はmacOSが使用するファイルであり、共有されるべきではありません。
.gitignore
(作成していない場合)
.gitignore
を作成します。
% touch .gitignore
.DS_Store
を追跡しないよう、設定します。
.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
を追跡しないよう、設定します。
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