回答:
の利点は.gitignore
、とは異なり、リポジトリ自体にチェックインできることです.git/info/exclude
。別の利点は.gitignore
、とは異なり、ディレクトリ固有の無視ルール用に各ディレクトリ/サブディレクトリ内に1つずつ、複数のファイルを持つことができることです.git/info/exclude
。
したがって、.gitignore
リポジトリのすべてのクローンで利用できます。そのため、大規模なチーム内のすべての人がファイル例の同じ種類を無視しています *.db
、*.log
。また、複数であるため、より具体的な無視ルールを設定でき.gitignore
ます。
.git/info/exclude
は個々のクローンでのみ使用できるため、ある人が自分のクローンで無視したものは、他の人のクローンでは使用できません。たとえば、誰かがEclipse
開発に使用している場合、他の開発者がEclipseを使用していない可能性があるため、その開発者が.build
フォルダーを追加することは理にかなっています.git/info/exclude
。
一般に、普遍的に無視する必要があるファイル/無視ルールはに入る必要があり.gitignore
、そうでなければ、ローカルクローンでのみ無視したいファイルは.git/info/exclude
~/.gitignore
上記のコメントでどの特定のエントリを入力するべきかわかりませんでした。私の理解は、無視ルールは3つのレベルにある可能性があることです- $PROJECT/.git/info/exclude
(プロジェクト、ユーザー)固有の無視ルール、$PROJECT/<any number of directories>/.gitignore
つまり任意のユーザーのプロジェクト固有の無視ルール(チェックイン時)、~/.gitignore
そのユーザーのプロジェクトのユーザー固有の無視ルールそのマシンで。目的に応じて、あなたは内のエントリを置く場所を選ぶ。
git rm --cached <path-name>
。リポジトリから削除されますが、ローカルに保持されます。 git update-index --skip-worktree <path-name>
ファイルへの変更は無視しますが、リポジトリに保持します。好奇心から:なぜslnファイルを除外したいのですか?.Netソリューションの重要な部分ですね。
グーグル:ファイルを除外する3つの方法
.gitignore
このリポジトリのすべてのクローンに適用されます(バージョン管理され、誰もがそれを持ちます)、.git/info/exclude
このリポジトリのローカルコピーにのみ適用されます(ローカル、他のユーザーとは共有されません)。~/.gitignore
コンピュータ上のすべてのリポジトリに適用されます(ローカル、他のユーザーとは共有されません)。3.
実際にあなたのコンピュータに設定を行う必要があります:
git config --global core.excludesfile '~/.gitignore'
.git/info/excludes
、誤ってファイルを呼び出す必要が.git/info/exclude
あります。
プロジェクトに.gitignore
固有の無視ルールに使用します。ご使用の環境に固有の無視ルールについては、またはグローバル無視ファイルを使用してください。exclude
たとえば、私のグローバル無視ファイルは、使用しているエディタによって生成された一時ファイルを無視します。このルールは環境に固有であり、同じプロジェクトの他の開発者(異なるエディタを使用している可能性があります)によって異なる場合があります。OTOH、私のプロジェクト.gitignore
ファイルでは、APIキーやビルドアーティファクトなどは無視されます。これらはプロジェクト用であり、プロジェクトのすべてのユーザーが同じにする必要があります。
それは役に立ちますか?