哪些Visual Studio文件应该被subversion忽略以最小化冲突?

我支持许多正在使用Subversion来版本控制工作的.Net开发人员,但是我们遇到了许多问题,这些问题似乎围绕着Visual Studio用来pipe理项目,debugging等的附加文件。具体来说,这些文件似乎正在导致冲突,因为他们已经在回购。 我知道如何把它们弄出来,以及如何处理它们,但是我需要知道他们是什么。

那么,什么是Subversion可以忽略的文件/目录,为什么它们可以被忽略?(也就是说,这些文件是做什么的?)

这是一个庞大的,而不是组织的ASP.Net网站,部署该网站是通过。 svn更新,所以IIS需要的文件dynamic编译(我认为这是什么)该网站作为文件的变化需要留在回购。

  • bin和obj目录
  • * .user文件(MyProject.csproj.user)
  • * .suo文件

另外,如果您正在使用Visual Studio 2015 .vs目录。

我对这个全球忽视模式有了好运:

  * bin * obj * suo * .user * .tmp * .TMP 
 * resharper * * Resharper * * ReSharper * * .Load * .gpState 
 Thumbs.db *。〜m2 

我正在运行Resharper插件,所以你可以忽略它。 “〜m2”是我的数据build模者创build的一个临时文件。

更新:感谢您的投票。 我最近添加了Mac,Dreamweaver,Python以及一些应该忽略的Visual Studio文件。

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp *[Bb]in *obj *suo *resharp* *.user *.tmp *.TMP *Resharper* *ReSharper* *.Load *.gpState *.NoLoad *.~m2 *.dbmdl _notes *.cache [Tt]est[Rr]esult [Bb]uild[Ll]og.* *.[Pp]ublish.xml *.[Cc]ache [Tt]humbs.db lint.db *.docstates .apdisk [Ll]ogs .DS_Store *.bak *.vs 

还有一些东西,如果有人不小心检查了一个文件夹或文件,那么在SVN开始忽略它们之前,你需要手动删除这个文件。 这是因为已经在repo中的文件将覆盖任何忽略设置。

  • * .bin文件
  • * .OBJ
  • *。可执行程序
  • * .DLL
  • * .PCH
  • *。用户
  • 名为.suo *
  • * .TLB
  • TestResults(VSTSunit testing目录)
  • 'bin'目录是一个好的开始(@Kevin说)。
  • 你也可以忽略“obj”目录。
  • * .suo和* .user最好不要使用源代码pipe理。
  • * .VisualState.xml也将是个人select。
  • TestResults.xml(如果你使用的是NUnit)

我认为更好的问题将是我应该添加到Subversion什么文件?

AnkhSVN 2.0 Subversion集成向您的解决scheme中的所有项目提出了这个问题。 (这个问题是SCC规范的关键部分之一)。它只会build议添加这些文件。

作为用户,您可以手动添加其他文件(或标记一些build议忽略的文件),但这种行为使得做正确的事情变得非常容易。

大多数其他颠覆客户没有与真正了解应该添加或不应该添加的系统聊天的奢侈。 (例如,像TortoiseSVN和它的前端的外部客户端可以根据文件扩展名猜测)。

旧的线程,但我想补充一点,你可以使用GitHub的gitignore例子,在这里find一个好的起点。

 ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files *.suo *.user *.userosscache *.sln.docstates *.vcxproj.filters # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ x64/ x86/ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ # Visual Studio 2015 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* # NUNIT *.VisualState.xml TestResult.xml # Build Results of an ATL Project [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c # DNX project.lock.json project.fragment.lock.json artifacts/ **/Properties/launchSettings.json *_i.c *_p.c *_i.h *.ilk *.meta *.obj *.pch *.pdb *.pgc *.pgd *.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj *.log *.vspscc *.vssscc .builds *.pidb *.svclog *.scc # Chutzpah Test files _Chutzpah* # Visual C++ cache files ipch/ *.aps *.ncb *.opendb *.opensdf *.sdf *.cachefile *.VC.db *.VC.VC.opendb # Visual Studio profiler *.psess *.vsp *.vspx *.sap # TFS 2012 Local Workspace $tf/ # Guidance Automation Toolkit *.gpState # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user # JustCode is a .NET coding add-in .JustCode # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover # Visual Studio code coverage results *.coverage *.coveragexml # NCrunch _NCrunch_* .*crunch*.local.xml nCrunchTemp_* # MightyMoose *.mm.* AutoTest.Net/ # Web workbench (sass) .sass-cache/ # Installshield output folder [Ee]xpress/ # DocProject is a documentation generator add-in DocProject/buildhelp/ DocProject/Help/*.HxT DocProject/Help/*.HxC DocProject/Help/*.hhc DocProject/Help/*.hhk DocProject/Help/*.hhp DocProject/Help/Html2 DocProject/Help/html # Click-Once directory publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml # TODO: Comment the next line if you want to checkin your web deploy settings # but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj # Microsoft Azure Web App publish settings. Comment the next line if you want to # checkin your Azure Web App publish settings, but sensitive information contained # in these scripts will be unencrypted PublishScripts/ # NuGet Packages *.nupkg # The packages folder can be ignored because of Package Restore **/packages/* # except build/, which is used as an MSBuild target. !**/packages/build/ # Uncomment if necessary however generally it will be regenerated when needed #!**/packages/repositories.config # NuGet v3's project.json files produces more ignoreable files *.nuget.props *.nuget.targets # Microsoft Azure Build Output csx/ *.build.csdef # Microsoft Azure Emulator ecf/ rcf/ # Windows Store app package directories and files AppPackages/ BundleArtifacts/ Package.StoreAssociation.xml _pkginfo.txt # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache !*.[Cc]ache/ # Others ClientBin/ ~$* *~ *.dbmdl *.dbproj.schemaview *.jfm *.pfx *.publishsettings node_modules/ orleans.codegen.cs # Since there are multiple workflows, uncomment next line to ignore bower_components # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) #bower_components/ # RIA/Silverlight projects Generated_Code/ # Backup & report files from converting an old project file # to a newer Visual Studio version. Backup files are not needed, # because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm # SQL Server files *.mdf *.ldf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings # Microsoft Fakes FakesAssemblies/ # GhostDoc plugin setting file *.GhostDoc.xml # Node.js Tools for Visual Studio .ntvs_analysis.dat # Visual Studio 6 build log *.plg # Visual Studio 6 workspace options file *.opt # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) *.vbw # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts **/*.DesktopClient/ModelManifest.xml **/*.Server/GeneratedArtifacts **/*.Server/ModelManifest.xml _Pvt_Extensions # Paket dependency manager .paket/paket.exe paket-files/ # FAKE - F# Make .fake/ # JetBrains Rider .idea/ *.sln.iml # CodeRush .cr/ # Python Tools for Visual Studio (PTVS) __pycache__/ *.pyc # Cake - Uncomment if you are using it # tools/ 

这是我的TortoiseSVN全局忽略:

 *.suo *.resharper *.sln bin obj *.user *.suo Debug Release *.pdb test.* _ReSharper*.* *.scc *.vssscc *.vspscc 

当您从Microsoft Visual SourceSafe转换时,最后3个帮助。

AnkhSVN在检查项目所需的文件方面做得很好。

我可能会说在bin目录中的任何东西。

除了上面提到的人之外,我经常不得不忽略* .cache,因为我不知道Resharper喜欢把.cache文件放在与我工作的代码相同的文件夹中。 另外,我不认为有人提到* .pdb呢。

我也不会检查.SDF文件。 它很大,Visual Studio会在缺失的情况下重新创build它。 就我所知,这是一个用于Intellisense的数据库。