アンドロイド

git(.gitignore)のファイルとディレクトリを無視する

目次:

Anonim

多くの場合、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無視ファイルとして設定するには、次のようにします。

  1. ファイルを作成します。

    touch ~/.gitignore_global

    Git構成にファイルを追加します。

    git config --global core.excludesfile ~/.gitignore_global

    テキストエディターでファイルを開き、ルールを追加します。

グローバルルールは、機密情報を含むファイルやコンパイルされた実行可能ファイルなど、コミットしたくない特定のファイルを無視する場合に特に役立ちます。

以前にコミットされたファイルを無視する

作業コピー内のファイルは、追跡することも追跡しないこともできます。

以前にコミットされたファイルを無視するには、ファイルをステージング解除してインデックスから削除し、ファイルのルールを .gitignore 追加する必要があります。

git rm --cached filename

--cached オプションは、gitにファイルを作業ツリーから削除せず、インデックスから削除するように指示します。

ディレクトリを再帰的に削除するには、 -r オプションを使用します。

git rm --cached filename

再帰的にファイルを削除する場合、「ドライラン」を実行し、削除されるファイルを表示する -n オプションを使用します。

git rm -r -n directory

.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 コマンドは、すべての無視されたファイルのリストを表示します:

git status --ignored

結論

.gitignore ファイルを使用すると、ファイルをリポジトリへのチェックインから除外できます。 ファイルには、どのファイルとディレクトリを無視するかを記述するグロビングパターンが含まれています。

gitignore.ioは、オペレーティングシステム、プログラミング言語、またはIDE用の .gitignore ファイルを生成できるオンラインサービスです。