Git管理対象とするファイル
開発の成果物ファイル
- ソースコード
- ドキュメント
環境設定ファイル
Gemfile、Gemfile.lock
Gemバージョンをチーム内で整えるために必要
.ruby-version
Rubyのバージョンを揃えるために必要
.gitignore
管理対象外ファイルを統一するために必要
db/schema.rb
DB情報
package.json、package.lock.json
フロントエンド開発の場合は指定します。package.jsonは当たり前かと思いますが、package.lock.jsonもgitの管理対象とするのが一般的です。(主に各開発者間でインストールしているパッケージのバージョンにズレが発生していないか確認するため)
Git管理対象外とするファイル
下記のファイル類はGitで管理するべきファイルではありません。「.gitignore」というファイルをローカルリポジトリの管理対象フォルダ内に作成して管理対象から外すようにしましょう。
自動生成されるファイル類
- ログファイル
- パッケージファイル
- バックアップファイル
OSの管理ファイル
- Thumb.db(Windows)
- .DS_Store(Mac)
キャッシュファイル
.sass-cache
Sassのキャッシュです。コミットの必要はありません。
環境変数ファイル
direnvなどを使って環境変数系の.envファイルを用意することが多いかと思いますので基本的には除外しましょう。envファイルを開発用と機密情報用(DBのアクセスパスワードやAWSのアクセスキーやシークレットキーなど)に分けて管理していて開発用は普通にgit管理対象にしている現場もあります。
容量が大きすぎるもの
node_modules
フロントエンド開発であれば指定は必須です。
一般公開してはまずい情報
パスワードが書かれたファイル
セキュリティ情報は環境変数に記載してその環境変数を利用するコードをリポジトリにいれるというスタイルがよく行われています。
データベース設定情報(database.yml等)
ユーザー名、パスワードを記載しないdatabase.yml.example等の名称でバージョン管理を行い各開発マシン上で書き換えて利用する方法がよく取られます。
なお、GitHubは.gitignoreファイルのテンプレートを公開しているので設定に迷ったら参考にするようにしましょう。
この記事へのコメントはありません。