不要なファイル.DS_Storeを.gitignoreで管理対象外にする
Githubでローカルリポジトリをリモートにpushしたところ、.DS_Store という不要なファイルまでアップロードされてしまっていた。
.DS_StoreをGitの管理対象外にするために調べたこと・対応したことのメモ。
.DS_Storeとは
mac側で作成された独自の形式の隠しファイル。
すべてのフォルダに自動的に作成される。
やりたいこと
pushしてしまった.DS_Storeをリモートリポジトリから削除する
これ以降も.DS_Storeを管理対象外にする
手順
Gitリポジトリに .gitignore ファイルを作成する
$ touch .gitignore
.gitignoreファイルにgitに上げたくないファイルを記載する
.DS_Store
記載例は一般的な .gitignore 設定 が参考になる
既にGit管理しているファイルはただ.gitignore
に追加してもキャッシュが残っているため反映してくれない。
そのためキャッシュを削除する必要がある。
$ git rm -r --cached .
-r
: ディレクトリを再帰的に削除する→下層にあるディレクトリにも適用される
—cached
: インデックスからの削除だけを実行する(ワークツリーのファイルは保持する)
commitの結果.DS_Storeのファイルが削除されている。
$ git add . $ git commit -m ".gitignore追加"
結果
[master 2bad78c] .gitignore追加 3 files changed, 1 insertion(+) delete mode 100644 .DS_Store create mode 100644 .gitignore delete mode 100644 views/.DS_Store
githubの画面上を確認してみても.DS_Store
が表示されなくなっていた👌
参考