先に結論だけ
Gitにはファイルをバージョン管理から外す方法が3つあります。
.gitignore
.gitignore_global
.git/info/exclude
それぞれの方法には長所と短所がありますので、用途によって使い分けましょう。
はじめに
この記事はファイルをGit管理下から外す方法を紹介、記録するものです。
対象とする環境
- git version 2.40.1
対象とする読者
- すでにGitを使っている
Gitでファイルを管理下から外す方法
Gitでは、特定のファイルをバージョン管理から外す方法が3つあります。
.gitignore
- 設定したGitリポジトリだけを対象にする
- リポジトリに参加するすべての開発者に共有される
利用ケース
- ビルド済みのコード
- パッケージマネージャーで管理されるコードやバイナリー
.gitignore
には、開発チーム全体でバージョン管理が不要なファイルを指定します。他のファイルから再生成できるファイルは、積極的に除外しましょう。
.gitignore_global
- コンピューターのすべてのGitリポジトリを対象にする
- リポジトリに参加する開発者には共有されない
利用ケース
-
.DS_Store
のようなテンポラリファイル
.gitignore_global
にはOSやエディターなど、開発環境によって生成されるファイルを指定します。リポジトリを作成するたびに.gitignore
を設定すると抜けや漏れが発生するので、.gitignore_global
で除外するか.gitignore
のテンプレートを作成しましょう。
.git/info/exclude
- 設定したGitリポジトリだけを対象にする
- リポジトリに参加する開発者には共有されない
利用ケース
- 開発中に書き換える可能性があるが、デプロイしてはいけない設定ファイル
.git/info/exclude
でファイルを除外する場合は、開発環境のディレクトリ構成が複雑化しているかもしれません。ディレクトリ構成を見直し、バージョン管理下のディレクトリから除外対象となるファイルを切り出せないか検討してください。どうしても切り出せないファイルだけを.git/info/exclude
で除外しましょう。
参考記事
以上、ありがとうございました。