バージョン管理に Git を使用する場合、コンパイルによって生成される一時ファイルやログ ファイルなど、特定のファイルやディレクトリがバージョン ライブラリに含まれないように無視する必要があることがよくあります。Git プロパティと無視ファイルは、ファイルの追跡と無視を制御するために一般的に使用される 2 つのメカニズムです。この記事では、Git プロパティを使用し、ファイルを無視してプロジェクト内のファイルを管理する方法について説明します。
Git のプロパティ
Git 属性は、ファイル固有の属性を定義し、これらの属性に基づいて特別な処理を実行するのに役立ちます。ファイルを使用して.gitattributes
属性ルールを定義します。一般的に使用される Git プロパティをいくつか示します。
text
: ファイルをテキスト ファイルとしてマークすると、Git はファイルの処理時に改行やその他の操作を自動的に変換しようとします。binary
: ファイルをバイナリ ファイルとしてマークすると、Git はファイルを変換せずにバイナリ モードで処理します。merge=union
: ブランチをマージする場合、パスは同じでコンテンツが異なるファイルの場合、ブランチ バージョンを選択する代わりに、ファイルのコンテンツを新しいファイルにマージします。merge=ours
: ブランチをマージするときは、パスは同じだが内容が異なるファイルについては、常に現在のブランチのバージョンを選択してください。merge=theirs
注: ブランチをマージする場合、パスは同じでコンテンツが異なるファイルの場合は、常に他のブランチのバージョンを選択します。
プロジェクトで Git プロパティを使用するには、まず.gitattributes
ファイルを作成する必要があります。このファイルでは、パス一致パターンを使用して、適用する属性ルールを指定できます。たとえば、.txt
すべてのファイルをテキスト ファイルとしてマークしたいとすると、.gitattributes
次のルールをファイルに追加できます。
*.txt text
このようにして、Git は.txt
ファイルを処理するときに、対応するテキスト処理を自動的に実行します。
ファイルを無視する
完全に無視したい、つまりバージョン管理に取り込みたくないファイルやディレクトリもあります。これを実現するには、.gitignore
file を使用して無視するファイルとディレクトリを指定します。.gitignore
このファイルは、単純なルールを使用して、何を無視するかを記述します。
.gitignore
ファイルに関する一般的なルールの例をいくつか示します。
*.log
: 拡張子.log
を持つ。/build/
:build
ルート ディレクトリの下にあるディレクトリ名を無視します。temp/
temp
:場所に関係なく、指定されたディレクトリをすべて無視します。
.gitignore
より複雑なマッチングのためにファイル内で正規表現を使用できることに注意してください。
.gitignore
ファイルを作成し、適切なルールを追加すると、Git は自動的に
一致するファイルとディレクトリは無視されます。git status
これらは、 またはコマンドの結果には表示されませんgit add
。
例
ファイルの例.gitattributes
と内容は次のとおりです。.gitignore
.gitattributes
# 将所有.txt文件标记为文本文件
*.txt text
# 对于.conf文件,始终选择当前分支的版本
*.conf merge=ours
# 对于所有图片文件,将内容合并为新的文件
*.png merge=union
*.jpg merge=union
.gitignore
# 忽略所有以.tmp为扩展名的文件
*.tmp
# 忽略所有名为logs的目录
/logs/
# 忽略根目录下的config.ini文件
/config.ini
# 忽略当前目录下的temp目录,以及任意层级的temp目录
temp/
プロジェクト内で.gitattributes
とファイルを使用する.gitignore
と、ファイルのバージョン管理と無視をより適切に制御でき、不要なファイルやディレクトリがリポジトリに入らないようにすることができます。
この記事では、Git プロパティを使用した高度な操作とファイルの無視について説明します。ファイルと Git の属性を使用すると.gitattributes
、ファイル固有の属性ルールを定義できます。同時に、.gitignore
ファイルは無視するファイルやディレクトリを指定するのに役立ち、それらがバージョン管理に持ち込まれるのを回避します。
Git プロパティを使用し、ファイルを無視すると、プロジェクト内のファイルの管理と制御が向上し、リポジトリをクリーンな状態に保つことができます。実際のプロジェクトでは、特定のニーズに応じて、ファイルの種類やパスなどに応じて、対応する属性ルールを設定したり、ルールを無視したりすることができます。
読み続けてください: