目次:
- 無視するファイル
- .gitignore
- 個人的な無視ルール
- グローバル
.gitignore
- 以前にコミットされたファイルを無視する
.gitignore
ファイルのデバッグ- 無視されたファイルをすべて表示する
- 結論
多くの場合、Gitを使用するプロジェクトで作業する場合、特定のファイルまたはディレクトリをリモートリポジトリにプッシュされないように除外する必要があります。
.gitignore
ファイルは、Gitが無視する追跡されていないファイルを指定します。
無視するファイル
無視されるファイルは通常、プラットフォーム固有のファイルまたはビルドシステムから自動的に作成されたファイルです。 一般的な例を次に示します。
- ログ、ロック、キャッシュ、一時ファイルなどのランタイムファイル。パスワードやAPIキーなどの機密情報を含むファイル。.classまたは
.o
などのコンパイル済みコード/node_modules
や/node_modules
依存関係ディレクトリ。 、/public
、/out
、/dist
。.DS_StoreやThumbs.db
IDEなどの.Systemファイル、またはテキストエディター構成ファイル。
.gitignore
通常、ローカルの
.gitignore
ファイルはリポジトリのルートディレクトリに配置されます。 ただし、リポジトリの異なるサブディレクトリに複数の
.gitignore
ファイルを作成できます。
.gitignore
ファイル内のパターンは、ファイルが存在するディレクトリに対して相対的に照合されます。
下位レベルのディレクトリ(サブディレクトリ)にあるファイルで定義されたパターンは、上位レベルのディレクトリのパターンよりも優先されます。
ローカルの
.gitignore
ファイルは他の開発者と共有され、リポジトリの他のすべてのユーザーに役立つパターンを含める必要があります。
個人的な無視ルール
ローカルリポジトリに固有であり、他のリポジトリに配布すべきではないパターンは、
.git/info/exclude
ファイルで設定する必要があります。
たとえば、このファイルを使用して、個人用プロジェクトツールから生成されたファイルを無視できます。
グローバル
.gitignore
Gitでは、グローバル
.gitignore
ファイルを作成することもできます。
.gitignore
ファイルでは、ローカルシステム上のすべてのGitリポジトリに対して無視ルールを定義できます。
ファイルには任意の名前を付けて、任意の場所に保存できます。 このファイルを保持する最も一般的な場所は、ホームディレクトリです。 ファイルを手動で作成し、それを使用するようにGitを構成する必要があります。
たとえば、
~/.gitignore_global
をグローバルGit無視ファイルとして設定するには、次のようにします。
-
ファイルを作成します。
touch ~/.gitignore_global
Git構成にファイルを追加します。
git config --global core.excludesfile ~/.gitignore_global
テキストエディターでファイルを開き、ルールを追加します。
グローバルルールは、機密情報を含むファイルやコンパイルされた実行可能ファイルなど、コミットしたくない特定のファイルを無視する場合に特に役立ちます。
以前にコミットされたファイルを無視する
作業コピー内のファイルは、追跡することも追跡しないこともできます。
以前にコミットされたファイルを無視するには、ファイルをステージング解除してインデックスから削除し、ファイルのルールを
.gitignore
追加する必要があります。
git rm --cached filename
--cached
オプションは、gitにファイルを作業ツリーから削除せず、インデックスから削除するように指示します。
ディレクトリを再帰的に削除するには、
-r
オプションを使用します。
git rm --cached filename
再帰的にファイルを削除する場合、「ドライラン」を実行し、削除されるファイルを表示する
-n
オプションを使用します。
.gitignore
ファイルのデバッグ
特に複数の
.gitignore
ファイルまたは複雑なパターンを使用している場合は、特定のファイルが無視される理由を判断するのが難しい場合があります。 一致するパターンに関する詳細を表示するようにgitに指示する
-v
オプションを指定した
git check-ignore
コマンドが便利です。
たとえば、
www/yarn.lock
ファイルが無視される理由を確認するには、次を実行します。
git check-ignore -v www/yarn.lock
出力には、
gitignore
ファイルへのパス、一致する行の番号、および実際のパターンが表示されます。
www/.gitignore:31:/yarn.lock www/yarn.lock
このコマンドは、引数として複数のファイル名も受け入れます。ファイルは作業ツリーに存在する必要はありません。
無視されたファイルをすべて表示する
--ignored
オプションを指定した
git status
コマンドは、すべての無視されたファイルのリストを表示します:
結論
.gitignore
ファイルを使用すると、ファイルをリポジトリへのチェックインから除外できます。 ファイルには、どのファイルとディレクトリを無視するかを記述するグロビングパターンが含まれています。
gitignore.ioは、オペレーティングシステム、プログラミング言語、またはIDE用の
.gitignore
ファイルを生成できるオンラインサービスです。