最高の一般的なSVN無視パターン?


175

使用するのに最適な(またはできるだけ良い)一般的なSVN無視パターンは何ですか?

IDE、エディター、コンパイラー、プラグイン、プラットフォームなど、さまざまな特定のファイルと、「重複」する(つまり、あるタイプのプロジェクトでは望ましいが、他のタイプのプロジェクトでは望ましくない)いくつかのファイルタイプがあります。

ただし、開発環境の詳細に関係なく、自動的にソース管理に含めたくないファイルの種類は多数あります。

この質問への回答は、プロジェクトの出発点として役立ちます。必要な環境固有のアイテムをいくつか追加するだけで済みます。他のバージョン管理システム(VCS)にも適応できます。


こんにちはザック、私はあなたのこのポストを読んでいます:zachburlingame.com/2011/03/…そして私はいくつかの質問があります。これであなたに連絡する方法はありますか?あなたの時間をありがとう...追記:このコメントを除いてあなたに連絡する他の方法を見つけることができませんでした。
イライラして

回答:


193

この質問に自分の2セントを追加します。

WindowsとLinuxの両方のプラットフォームのネイティブC ++、C#/ VB.NET、およびPERLプロジェクトのTortoiseSVNおよびSubversion CLIで次のSVN無視パターンを使用します。それは私にとってうまくいきます!

コピーアンドペースト用にフォーマット:

* .o * .lo * .la#*#。*。rej​​ * .rej。*〜*〜。#* .DS_Store thumbs.db Thumbs.db * .bak * .class * .exe * .dll * .mine * .obj * .ncb * .lib * .log * .idb * .pdb * .ilk * .msi * .res * .pch * .suo * .exp *。*〜*。〜*〜*。* cvs CVS .CVS .cvs releaseリリースデバッグデバッグ無視無視ビンBin obj Obj * .csproj.user * .user * .generated.cs

読みやすいようにフォーマット:

* .o * .lo * .la#*#。*。rej​​ * .rej
。*〜*〜。#* .DS_Store thumbs.db 
Thumbs.db * .bak * .class * .exe * .dll
* .mine * .obj * .ncb * .lib * .log 
* .idb * .pdb * .ilk * .msi * .res * .pch * .suo 
* .exp *。*〜*。〜*〜*。* cvs CVS .CVS .cvs  
リリースリリースデバッグデバッグ
無視ビンビンオブジェクトを無視
* .csproj.user * .user
* .generated.cs

5
* .tmp * .tempはどうですか?
ボブ・キング

3
また、WPFを実行する場合* .g.vb * .g.cs * .baml * .GenerateResource.Cache * .cache
Bob King

6
参照アセンブリをリポジトリでもコミットする必要がある場合があるので、*。dllは必要ですか?
Jaroslav Urban

6
@Xabatcha-グローバル無視パターンにリストされているかどうかに関係なく、任意の拡張子(またはフォルダー)のファイルを常に明示的に含めることができます。通常、*。dllがSVNによって追跡されることは望ましくありませんが、必要なものをいつでも明示的に追加できます(サードパーティアセンブリの場合は、これをよく行います)。
ザックバーリンゲーム

2
ReSharperを使用している場合は、それも追加してください
autonomatt

44

Burlyの無視パターンに基づいて、ReSharperを無視リストに追加しました

コピーアンドペースト用にフォーマット:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user _ReSharper.* *.resharper.user

読みやすいようにフォーマット:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak
*.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs
CVS .CVS .cvs release Release debug
Debug ignore Ignore bin Bin obj Obj
*.csproj.user *.user _ReSharper.* *.resharper.user

1
_ReSharper。*
Dve

1
Dveのコメントが上記のパターンに組み込まれていることに注意してください。再度追加する必要はありません。
Hydrargyrum

34

Visual Studioの無視パターン:

* / bin * / obj * / Release * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe * .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.Load thumbs.db * .resharper * .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper。* bin obj * .resharperoptions * .db * .bak * _ReSharper * * .snkログ出力TestResults * .crunchsolution 。* * .crunchproject。*

読みやすいようにフォーマット

* / bin * / obj * / Release * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe 
* .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.Load thumbs.db * .resharper 
* .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper。* bin obj 
* .resharperoptions * .db * .bak * _ReSharper * * .snkログ出力TestResults 
* .crunchsolution。* * .crunchproject。*

16

通常はリポジトリに必要ないファイルに出くわすたびに、パターンを更新します。「最良の」パターンはないと思います。それは、常にあなたが開発する言語と環境に依存します。

さらに、考えられるすべての「無視できる」ファイルタイプについて考えることはあまりありません。単に含めるのを忘れたファイルタイプに常に遭遇します。そのため、パターンを更新するのが最も効果的です。


2
絶対的な意味での「最良の」パターンがないことに同意します。そのため、私は(または可能な限り)追加しました。あなたは正しいです、あなたはそれらのすべてを列挙することはありません、そしてそれはまた私が述べたlangとenvに依存します。ただし、すぐにノックアウトできる数は多くあります。
ザックバーリンゲーム、

1
また、1つの開発環境で問題なく追加できる一方で、プロジェクトに複数の開発者がいる場合は、共通のプロジェクト無視パターンを持つことが望ましいです。できるだけ頻繁に更新する必要はないので、できるだけ多くを事前に削除する必要があります
Zach Burlingame

もちろん、*。bin * .bak * .pdb * .suoなどの通常のパターンを前に設定する必要があります。ただし、リポジトリフォルダーで無視のプロパティを設定すると、それらは事実上共有されます。ただし、これが意図したとおりではないことは承知しています。
petr k。

11

Windowsユーザーは、desktop.iniとthumbs.dbをスローすることができます。


4

Visual Studioプロジェクトに使用

*/bin */obj *.user *.suo

そこから、より多くのファイルタイプを展開できます。


今日、同じようなリストを見ました-* / binとbinの違いは何ですか フォルダー全体を無視したいとします。
harpo

セクション5.13をお読みください。TortoiseSVNヘルプファイルのファイルとディレクトリを無視します。
icelava 2008

5
tortoisesvn.net/docs/release/TortoiseSVN_en/…/ または\を含めるべきではなく、それらを含めることは以前のバージョンのレガシーであると記載されています
Simon D

@Simon、(「グローバル無視リストにパスがありません」の挿入図では)パスはで大丈夫ですsvn:ignoreが、グローバル無視リストではそうではないと言っていませんか?
Matthew Flaschen、2011年


1

Macユーザーはおそらく.DS_Storeをスローしたいと思うでしょう。さらに、EmacsまたはVimを使用している開発者がいる場合は、おそらく〜〜と##を追加する必要があります。


1

Eclipseの場合、以下を使用します。

bin
.*

。*はすべてのプロジェクト構成を取得します。「隠された」ディレクトリまたはファイルをチェックインすることはほとんどありませんが、表示された場合は、svn addを実行できます。


* .userファイルだけでなく、objも必要です
jrojo

1

プロジェクトの一部としてサードパーティのlibとdllを使用している可能性があるため、リポジトリから* .libと* .dllをブロックすることは賢明ではありません。これらは、リポジトリに格納されることを意図されているものです。


5
サードパーティのライブラリ、dll、exeなどを使用する場合は、明示的に追加するだけです。サードパーティツリー全体を実行する場合は、一時的に無視パターンを無効にします。ただし、これらのタイプが日々の開発中に暗黙的に取得されることを望まないため、パターンに含まれます。
Zach Burlingame、

1

Visual Studio 2010ユーザーは、ipch(C ++プリコンパイル済みヘッダーを含むフォルダー)と*.sdf(あらゆる種類のプロジェクトでIntelliSenseが使用する巨大なファイル)を追加する必要があります。


0

パターンは、使用しているオペレーティングシステムによって異なります。

Linuxでは、まず**。o *、**。so *、**。a *、および**。la *をブロックする必要があります。**〜*(編集からのバックアップファイル)および#*#(クラッシュからのemacsバックアップ)をブロックすることもできます。

Windowsでは、少なくとも**。obj *、**。lib *、および**。dll *が必要です。

ブロックする必要があるその他のファイルは、IDE、エディター、およびコンパイラーによって異なります。


0

使用する場合は、Resharperをミックスに追加する必要があります。

もう1つ注目するのは、Ankh *。*です。


ええ、Visual Studio以外のほとんどのツール固有のフラグは省略しました。うまくいけば、他の人がさまざまなツールの明示的なファイルパターンリストを使用して回答を追加し続けることができます。
ザックバーリンゲーム



0

gitignore.ioはgitの構成可能なパターンを提供します。それらは、SVN用に再フォーマットする必要がある、読み取り可能なリストを提供します。

例えば、MicrosoftOfficeとWindowsの要求リターンを

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

0

gitignore.ioはgitの構成可能なパターンを提供します。それらは、SVN用に再フォーマットする必要がある、読み取り可能なリストを提供します。

例えば、MicrosoftOfficeとWindowsの要求リターンを

# Created by https://www.gitignore.io/api/microsoftoffice,windows

### MicrosoftOffice ###
*.tmp

# Word temporary
~$*.doc*

# Excel temporary
~$*.xls*

# Excel Backup File
*.xlk

# PowerPoint temporary
~$*.ppt*

# Visio autosave temporary files
*.~vsdx


### Windows ###
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

直接使用できるようです svn:global-ignore

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.