作成するRailsアプリをGit管理する際、.gitignoreに追加すべきGit管理しないものについて悩みました。
そこで優秀なエンジニアの方に相談し、Railsに限らず大まかに不要なものを教えていただいたので、メモがてら残そうと思います。
※ほぼ相談した際に頂いたテキストのまま
1. 認証系ファイル(絶対にGit管理してはいけない)
AWSやGitHubを使ってサイトを作成する場合、それらのサービスの認証キーやパスワードが書いてあるファイルを絶対にGitで管理してはいけない。
コードの中で認証する場合はコードファイルに認証キーなどを含めてはならず、必ず環境変数を経由して取得するように記述する必要がある。
Privateなリポジトリであっても万が一の場合があるため、Gitの履歴に含まれないように .gitignoreで除外する。
上の画像(画像①)(僕の場合はDockerでRailsの環境構築をした際に自動生成されました)の場合、
/config/master.key が相当するファイルになるが、これ以外にも認証キーが含まれるファイルがあるかどうか注意が必要。
2. ログファイル(Git管理してはいけない)
先程の画像(画像①)の中にもいくつか入っているが、ログファイルはファイル数・容量的に際限がないため含めないようにする。
3.ライブラリを配置するディレクトリ(Git管理してはいけない)
外部ライブラリを大量に保存する場合、容量的にGit管理するのはおすすめできない。
jQueryの特定のバージョンを使ってフロントを管理したいとかなら別だが、そうでなければGit管理からは除外するのが良い。
先程の画像(画像①)であれば /node_modules/ などが該当する。
4. 環境設定用のファイル(Git管理しない方が良い)
IDEの設定ファイルや.DS_Store(Macが勝手に生成する謎ファイル)はGit管理しないほうがいい。前者は開発環境によって設定内容が異なる場合があるため邪魔になる可能性があり、後者は単に不要。
以上がご教授していただいた「.gitignoreに記述すべき、Git管理しないもの」でした。いくつか記事を読んでいたのですが個人的にとても分かりやすくて参考になりました。(感激!!!)