Mercurial .hgignore for Visual Studio 2008项目

Mercurial .hgignore for Visual Studio 2008项目

Mercurial .hgignore for Visual Studio 2008 projects

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

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

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

谢谢!

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

1
2
3
4
5
6
# regexp syntax.
syntax: glob
*.pdb

syntax: regexp
/obj/

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 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

这是C#项目特有的,但我忽略了这些文件/目录:

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

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

最后,你将拥有一个很好的目录,其中包含必须提交的唯一文件。


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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*.*

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

1
2
3
4
5
6
7
8
9
10
11
syntax: glob
*.user
*.ncb
*.nlb
*.suo
*.aps
*.clw
*.pdb
*\Debug\*
*
elease\*

几点说明:

  • 如果您有自定义"发布"
    除了"调试"和"发布",你
    可能需要添加它们。
  • 手动编辑时要小心
    .hgignore。如果你做了一个语法
    错误,然后hgtortoise将不会
    更长时间打开提交对话框。

  • 我的Mercurial .hgignore文件内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    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项目。根据您的工具集和项目类型,您可能会遇到应忽略的其他文件。

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


    我使用的其他一些:

    1
    2
    3
    4
    5
    6
    7
    8
    output
    PrecompiledWeb
    _UpgradeReport_Files

    #Guidance Automation Toolkit
    *.gpState
    #patches
    *.patch


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

    1
    2
    3
    4
    5
    6
    7
    8
    # use glob syntax
    syntax: glob

    # Matlab ignore files
    *.asv

    # Microsoft Office
    ~$*

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


    推荐阅读