最好的一般SVN忽略模式?

什么是最好的(或尽可能)一般的SVN忽略模式使用?

有许多不同的IDE,编辑器,编译器,插件,平台等特定的文件和一些“重叠”的文件types(即对于某些types的项目而不是其他的)。

但是,不pipe您的开发环境的具体情况如何,您都不会自动将其包含在源代码pipe理中的大量文件types。

对于这个问题的答案可以作为任何项目的一个很好的起点 – 只要求他们添加他们需要的less数环境特定项目。 它也可以适用于其他版本控制系统(VCS)。

我会把我自己的两分钱添加到这个问题上:

在Windows和Linux平台上,我使用以下SVN忽略模式,将TortoiseSVN和Subversion CLI用于本地C ++,C#/ VB.NET和PERL项目。 它适合我!

格式化为复制和粘贴:

 * .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发行版发行版debugdebugging忽略忽略bin 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  
发行版本debuggingdebugging
忽略忽略bin Bin obj Obj
 * .csproj.user * .user
 * .generated.cs

基于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 

我忽略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。*

每次遇到一个我通常不想在存储库中的文件,我都会更新这个模式。 我相信没有“最好的”模式 – 它总是取决于你所开发的语言和环境

而且,你不太可能想到所有可能的“可忽略的”文件types – 你总会遇到一个你忘记包含的文件types。 这就是为什么更新模式,你走的最好的。

Windows用户可能想扔在desktop.ini和thumbs.db。

用于我的Visual Studio项目

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

您可以从那里扩展更多的文件types。

Visual Studio(VC ++)用户肯定需要排除.ncb文件

Mac用户可能想要投入.DS_Store。 另外,如果有开发者使用Emacs或者Vim,你可能要添加~~和 ##。

对于Eclipse,我使用:

 bin .* 

*获取所有的项目configuration。 你几乎从不想检查一个“隐藏的”目录或文件,但如果出现,你仍然可以添加它。

既然你可能会使用第三方的libs和dll作为项目的一部分,那么我就没有看到从存储库中阻止* .lib和* .dll的智慧。 这些是要存储在存储库中的东西。

Visual Studio 2010用户应该添加ipch (包含C ++预编译头文件的文件夹)和*.sdf (任何types项目的intellisense使用的大文件)。

该模式取决于您正在使用的操作系统。

在Linux上,您将要阻止** .o *,**。so *,**。a *和**。la *开头。 您可能还想要阻止**〜*(来自编辑的备份文件)和#*#(来自崩溃的emacs备份)。

在Windows上,至less需要** .obj *,** .lib *和** .dll *。

您需要阻止的任何其他文件取决于您的IDE,编辑器和编译器。

如果你使用Resharper,你需要添加Resharper。

另外一个要注意的是Ankh *。*

不要忘记NCrunch临时文件:

 *.crunchsolution.* *.crunchproject.* 

和核心转储(cygwin,linux)

 *.stackdump core.* 

gitignore.io为git提供了可configuration的模式。 他们提供了一个可读的列表,你需要重新格式化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 

gitignore.io为git提供了可configuration的模式。 他们提供了一个可读的列表,你需要重新格式化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