2

処理時に他のファイルを生成する多数のファイルを持つプロジェクトがいくつかあります。生成されたファイルを追跡する必要はありません。実際、スペースの無駄になるため、追跡したくない場合もあります。.gitignoreそれがファイルの目的であることを理解しています。問題は、ファイルでパターン マッチングを使用する良い方法が見つからないことです。担当者には、同じパターンに準拠する通常のユーザー編集ファイルも含まれているためです。たとえば、リポジトリには、.texユーザーが編集した多数のファイルだけでなく、.texknitr フォーム.Rnwファイルによって生成された多数のファイルも含まれます。ほとんどの.pdfファイルはファイルから自動生成され.texますが、一部は TeX ドキュメントに含まれるユーザー作成.pdfの図であり、追跡する必要があります。

たとえば、gitが同じディレクトリにある場合にのみファイルを無視し、同じディレクトリにある場合にのみ無視するようにする良い方法は何blah.texでしょblah.Rnwうか?bluh.pdfbluh.texbluh.Rnw

4

3 に答える 3

7

いくつかの簡単な解決策:

  • .pdfすべてのサフィックス (例: ) を.gitignoreas*.pdfに追加すると、バージョン管理が必要なgit add -fサフィックスが追跡されます (少し注意が必要です)。は実際にはグロブなので、たとえば、ハメが大文字で始まる PDF を除外できます。version-this-one.pdfgit*.pdf[A-Z]*.pdf
  • 上記と同様ですが、たとえば*.pdf、すべての PDF に対して追加!version-this-one.pdfし、除外セットから 1 つを除外します (ここでパターンを使用することもできます)。
  • 生成されたファイルの完全.gitignoreリストを. 最新の状態に保つ必要があります (新しいものが表示された場合、git追跡されていないと見なされます。その場合は追加してください)。
  • ミックス アンド マッチ: 上記の方法をさまざまなファイル名パターンに対して必要に応じて使用します。
  • ディレクトリごと.gitignore:git最初にこのディレクトリの を検索.gitignoreし、親に見つからない場合は ... でパターンを除外できる!ため、そこで検索を停止します。

チェックアウトしてくださいgitignore(5)

于 2013-03-21T18:59:38.330 に答える
0

でそれを行うことはできません.gitignore。生成されたファイルとユーザー ファイルを別々のフォルダーに分割し、生成されたフォルダー全体を無視します。

于 2013-03-21T18:22:22.050 に答える
0

生成されたファイルをtmpなどの特別なフォルダーに配置できるかどうかを確認してください。次に、このフォルダーを .gitignore に追加するだけです

tmp/

于 2013-03-21T18:22:33.387 に答える