2011-08-10 20 views
11

vim.gitignoreSVN.gitignoreCVS.gitignoreのようなファイルがいくつかあります(私のハードディスク上に広がっています)。.gitignoreファイルに他の.gitignoreファイルを含めることはできますか? (C言語の#includeのように)

これらのgitignoreファイルを新しいGitプロジェクトの.gitignoreファイルに含めることはできますか?

編集:グローバルな無視ファイルが既にあります。
さまざまな種類のプロジェクトで異なるファイルを無視したいだけですが、これは可能ですか?

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

レポで.gitignoreを持つが、あなたのシステム上のすべてのリポジトリに適用される(および外部クローンに伝播しないように、もちろんです:

答えて

5

あなたは可能性:

    • が付きテンプレートのレポを持っていますその中の
    • それらxxx.gitignoreのファイル:
    • その中に "xxx-gitignore-xxx" と.gitignoreファイル(他の言葉では、コンテンツで、簡単に
    • .gitattribute filter driver
を識別することができます

(新しいリポジトリごとにクローンを作成し、すでにそこにあるファイルから開始することができます。
はその後、リモート「起源」を削除するか、あなたのレポのいずれかのチェックアウト時に)に

enter image description here

をプッシュしたいリモートどんなレポでそれを置き換える、フィルタドライバ意志、汚れスクリプトを使用して:

xxx.gitignoreコンテンツがまだない場合
  • は、特定のを探すことにより、(コンテンツ
  • .gitignoreファイルのチェックを認識しますファイルのみが持つ文字列)
  • その内容がない場合、それはコンテンツが最新すでにある場合、それは.gitignoreを変更していないはずのxxx.gitignoreファイル
  • の内容を追加しますが。 識別可能なコンテンツを有するfilter driver script doesn't have the name/path of the file it filtersので、ここで重要であること

注意。

これは少し畳み込まれていますが、必要な「インクルード」機能を実装する唯一の方法と思われます。

+0

ありがとう、私はあなたの魔法を消化する必要があります... – HaveF

+0

属性をうまく利用すれば、それは考えられませんでしたが、属性がないことを望みます。不必要な複雑さIMO。 – manojlds

+0

@manojlds:「不要な複雑さ」?同意する!しかし、それは可能な実装です... – VonC

4

ザ・はあなたが得るクローズは、グローバルファイルを無視しています。 )

+2

ありがとうございます!しかし、私は既にグローバル無視ファイルを持っています。私はちょうど異なるタイプのプロジェクトで異なるファイルを無視したいと思いますか? – HaveF

関連する問題