pushして.DS_Storeが上がってしまった時の対処法

こんにちは!CODE CLUB965のKです!
開発を進める上でソースコードを管理するときによくGitHubやBitbucketを使うことがあるのですが、ソースコードをpush(プッシュ)するときに.DS_Storeというファイルが一緒に上がってしまうことがあります。
今回はその「.DS_Store」をコミット対象外にする方法を紹介します。

.DS_Storeって何?

そもそも「.DS_Store」って何?と思う方もいると思いますので簡単に説明しますね。大まかには下記のことのようです。

・mac側で作成された独自の形式の隠しファイル
・Finderやリモート上アクセスする全てのフォルダに.DS_Storeそれぞれ作成される
・独自のメタ情報(例えば、フォルダ内のアイコンの位置や表示設定などが保存されているデータ)

これは、個人環境に依存するファイルなので、開発を進める上では共有する必要がありませんので、コミットもしません。

.DS_Storeをコミット対象外にする

それでは早速方法を説明します!
一応、今回はmacユーザーでBitbucketを使っていることを想定しています。

■ 対処法:.gitignoreを作成してコミット対象外にする
この対処法ですが、注意点として「プッシュ済みのファイルは除外できない」ということを覚えておいてください。
なので、この方法はリポジトリを作成したら、プッシュする前に設定する必要があります。
それでは手順です。

【1】リポジトリ下に.gitignoreファイルを作成(作成されていればこの手順は不要です)

【2】.gitignoreに「.DS_Store」と記述
   ※コマンドで叩く場合は、「echo .DS_Store >> .gitignore」と打つ

【3】プッシュする
   $ git add .
   $ git commit -m “.gitignoreを作成”
   $ git push origin master

以上です。
もし、.DS_Storeをコミットしちゃったって人は、調べれば消す方法いっぱいあるので調べてみてください。

最後に

上記の方法は、.gitignoreをプロジェクトのたびに作成する必要があります。
「.DS_Storeなどを記述するのは面倒だ!」という方もいると思いますので、明日は「.gitignore_global」というファイルを作成し、グローバルに設定することで先程の面倒な作業をなくす方法をご紹介します!

では、また!

 
質問や感想がある方は、TwitterのDM、リプ欄にコメントください!
その他CODE CLUB965のことで気になことがあれば無料で面談できますので、お気軽にお問い合わせください!