2015-09-16 1 views
7

gitfoo.extというファイルを無視するように言いたいのですが、foo.txeという名前の別のファイルがある場合に限り、そのファイルを無視してください。私はこれが.gitignoreの構文ではできないと確信していますが、私が考えていないトリッキーな方法がありますか?別のファイルが存在する場合に限り、特定のファイルを無視するようにgitに指示するにはどうすればよいですか?

使用例:LaTeXドキュメントの図をfiguresというサブディレクトリに格納することがよくあります。そして、私は通常Xfigで自分の図をデザインします。含めるincludegraphicsコマンドを使用して、

  • figures/foo.pdf、グラフィックス部分のPDFファイル、
  • figures/foo.pdf_t、テキストのためのLaTeXファイル:私のメイクはfigures/foo.figソースからのファイルのペアを生成するfig2devを呼び出しますPDF。

これらの2つのファイルが生成されているため、私はgitにそれらを無視したいと思います。私は.gitignoreファイルに2つのシンプルな除外パターンを追加することができましたが、私の人物の中には、別のソースから生成されたものではない普通のPDFであるものもあります。もちろん、gitは、これらのファイルを無視しないようにしています。figures/bar.pdf

私のような何かを追加したいと思います:/<some_path>/figures/<some_name>.pdfまたは/<some_path>/figures/<some_name>.pdf_tという名前のファイルが/<some_path>/figures/<some_name>.figという名前のファイルが同じ<some_path>で存在する場合に限り、無視されなければならないことを意味し、私の.gitignoreファイルに

/\(**\)/figures/\(*\).fig: /\1/figures/\2.pdf /\1/figures/\2.pdf_t 

をし、 <some_name>

+0

[Gitignoreの可能性のある重複した別の拡張子を持つファイルの場合、ファイルを使用することができます無視したくないいくつかのファイルがある場合存在する](http://stackoverflow.com/questions/28325195/gitignore-a-file-if-file-with-different-extension-exists) –

答えて

2

自動生成されるファイルと自動生成されないファイルを判別するには、ファイル名またはフォルダに何かを使用する必要があります。コードの設定に応じて、フォルダに基づいて無視することができます。たとえば、自動生成ファイルにはfigure-auto、手動作成ファイルにはfigureを使用します。

figure-auto/

あなただけの、あなたが

figures/*.pdf 
figures/*.pdf_t 
!figures/keep-in-source-control.pdf 
!figures/manually-created.pdf 

Git Ignore Pattern Format

+0

私は '.gitignore'の使い方を知っていますが、これは私のものではありません探していますが、ありがとう、私は感謝しています私たちの助け。 –

関連する問題