首页 文章

Mercurial .hgignore for Visual Studio 2008项目

提问于
浏览
164

使用Visual Studio 2008时,.hgignore文件的良好设置是什么?

我主要是自己开发,偶尔我会克隆存储库以供其他人使用 .

我正在考虑obj文件夹,.suo,.sln,.user文件等 . 它们可以只是被包含在内还是存在我不应该包含的文件?

谢谢!

p.s . :目前我执行以下操作:忽略所有.pdb文件和所有obj文件夹 .

# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/

7 回答

  • 37

    这是我用于VS2008的标准.hgignore文件,该文件最初是从Git ignore文件修改的:

    # Ignore file for Visual Studio 2008
    
    # use glob syntax
    syntax: glob
    
    # Ignore Visual Studio 2008 files
    *.obj
    *.exe
    *.pdb
    *.user
    *.aps
    *.pch
    *.vspscc
    *_i.c
    *_p.c
    *.ncb
    *.suo
    *.tlb
    *.tlh
    *.bak
    *.cache
    *.ilk
    *.log
    *.lib
    *.sbr
    *.scc
    [Bb]in
    [Dd]ebug*/
    obj/
    [Rr]elease*/
    _ReSharper*/
    [Tt]est[Rr]esult*
    [Bb]uild[Ll]og.*
    *.[Pp]ublish.xml
    
  • 8

    这是特定于C#项目,但我忽略这些文件/目录:

    • .csproj.user / obj / * / bin / * * .ncb * .suo

    在忽略所有这些文件后,我在其他机器上的库中运行代码没有问题 . 找出您需要保留的最简单方法是制作文件夹的副本并开始删除您认为不必要的内容 . 继续尝试构建,只要你可以成功构建继续删除 . 如果删除太多,请从源文件夹中复制它 .

    最后,您将拥有一个包含必须提交的唯一文件的精美目录 .

  • 24

    我感到被遗忘了 . 这是我的.hgignore文件 . 它涵盖了C#,C和Visual Studio开发,包括COM东西(类型库),一些最终构建器文件,CodeRush,ReSharper和Visual Studio项目升级 . 对于现代(2015年)的网络开发,它也有一些忽视 .

    syntax: glob
    
    * - [Cc]opy
    * - [Cc]opy/
    * - [Cc]opy (?)/
    * - [Cc]opy.*
    * - [Cc]opy (?).*
    **/.*
    **/scss/*.css
    *.*scc
    *.FileListAbsolute.txt
    *.aps
    *.bak
    *.bin
    *.[Cc]ache
    *.clw
    *.css.map
    *.eto
    *.exe
    *.fb6lck
    *.fbl6
    *.fbpInf
    *.ilk
    *.lib
    *.log
    *.ncb
    *.nlb
    *.nupkg
    *.obj
    *.old
    *.orig
    *.patch
    *.pch
    *.pdb
    *.plg
    *.[Pp]ublish.xml
    *.rdl.data
    *.sbr
    *.scc
    *.sig
    *.sqlsuo
    *.suo
    *.svclog
    *.tlb
    *.tlh
    *.tli
    *.tmp
    *.user
    *.vshost.*
    *.docstates
    *DXCore.Solution
    *_i.c
    *_p.c
    __MVC_BACKUP/
    _[Rr]e[Ss]harper.*/
    _UpgradeReport_Files/
    Ankh.Load
    Backup*
    [Bb]in/
    bower_components/
    [Bb]uild/
    CVS/
    [Dd]ebug/
    [Ee]xternal/
    hgignore[.-]*
    ignore[.-]*
    lint.db
    node_modules/
    [Oo]bj/
    [Pp]ackages/
    PrecompiledWeb/
    [Pp]ublished/
    [Rr]elease/
    svnignore[.-]*
    [Tt]humbs.db
    UpgradeLog*.*
    
  • 4

    以下是我的.hgignore for C#Visual Studio项目的内容:

    syntax: glob
    *.user
    *.ncb
    *.nlb
    *.suo
    *.aps
    *.clw
    *.pdb
    *\Debug\*
    *\Release\*
    

    几点说明:

    • 如果除"Debug"和"Release"之外还有自定义"releases",则可能需要添加它们 .

    • 手动编辑.hgignore时要小心 . 如果您出现语法错误,那么hgtortoise将不再打开提交对话框 .

  • 209

    我的Mercurial .hgignore文件内容:

    syntax: glob
    #-- Files
    *.bak.*
    *.bak
    thumbs.db
    
    #-- Directories
    App_Data/*
    bin/
    obj/
    _ReSharper.*/
    tmp/
    
    #-- Microsoft Visual Studio specific
    *.user
    *.suo
    
    #-- MonoDevelop specific
    *.pidb
    *.userprefs
    *.usertasks
    

    请记住,我主要使用Microsoft Visual Studio,偶尔使用MonoDevelop来处理WinForms,ASP.NET MVC和Mobile项目 . 根据您的工具集和项目类型,您可能会遇到应忽略的其他文件 .

    我尝试在CodePaste.NET上保留最新版本http://codepaste.net/zxov7i

  • 11

    我使用的其他一些:

    output
    PrecompiledWeb
    _UpgradeReport_Files
    
    #Guidance Automation Toolkit
    *.gpState
    #patches
    *.patch
    
  • 3

    这里有几个讨厌的:Matlab和Excel / Office自动保存 .

    # use glob syntax
    syntax: glob
    
    # Matlab ignore files
    *.asv
    
    # Microsoft Office
    ~$*
    

    如果我不小心添加它们然后关闭打开的真实文件,Excel和/或Matlab将删除自动保存,然后Mercurial将不知道他们去哪里 . 我确信还有其他程序可以做类似的事情 .

相关问题