2017-01-21 5 views
0

GitはC++で生成されたオブジェクトファイルを無視したいと思います。これらは一方 .gitignore:行末を指定する方法

<my_file>.o 

という名前が付けられ、私はGitは
blah.omg.ext 

名が「.oの」を含む

という名前のファイルを無視したくない多くのものが続きます。通常の正規表現では、* .o $のように無視するパターンを記述します。$は行末を示します。 .gitignoreのドキュメントでは、行末については言及していませんし、正規表現についても言及していません。 * .oという名前のファイルを無視しないで* .oという名前のオブジェクトファイルをGitに無視させることは可能ですか?あなたが試すことができますどのような

https://git-scm.com/docs/gitignore

+0

'.gitignore'ファイルのパターンは、正規表現ではなく* glob *パターンです。シェルのグロブ名は実際にはファイル名やディレクトリ名の境界に固定されています。 'a * b'はファイルやディレクトリ' axyb'と一致しますが、 'caxyb'や' axybc'とは一致しません。グロブパターンの '*'は、正規表現の '*'と非常に異なっていることに注意してください。 '.'の代わりにグロブ式で'? 'を使います。 Gitのglobsは '**'も扱いますが、これはすべてのシェルスタイルのglob matcherが処理するわけではありません。 – torek

答えて

5

私は興味があったし、簡単なテストを行なったし、それから私は、2つの新しいファイル

touch foo.o 
touch bar.omg 

を作成し、この

*.o 

よう.gitignoreを作成し、git statusをしました。予想どおり、foo.oは無視され、bar.omgはuntrackedと表示されました。

*.oを追加すると完了です。オブジェクトファイル(.o拡張子のすべてのファイル)だけを無視します。

+0

あなたは正しいです。私は自分のプロジェクトファイルでこれを試してみました。 * .oファイルは無視され、* .o という名前のファイルは無視されません。 – Argent

0

2番目のオプションを無効にすることです。ここでは

は、私が上で言及したドキュメントへのリンクがあります。このような何か:

<my_file>.o 
!<my_file>.omg.ext 
関連する問題