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将不知道他们去了哪里。我确信还有其他程序可以做类似的事情。


    推荐阅读

      linux分隔文件命令?

      linux分隔文件命令?,系统,信息,文件,命令,位置,指令,文件夹,目录,前缀,方法,l

      linux命令创建项目组?

      linux命令创建项目组?,管理,密码,项目,命令,系统,位置,文件,用户组,用户,文

      linux改文件权限命令?

      linux改文件权限命令?,系统,工具,档案,权限,文件,信息,命令,目录,选项,用户,

      linux命令交换文件名?

      linux命令交换文件名?,命令,文件,数据,名称,工具,地址,软件,系统,基础知识,

      linux文件夹转移命令?

      linux文件夹转移命令?,系统,文件,命令,位置,材料,信息,工具,电脑,目录,源文

      linux命令设置中文?

      linux命令设置中文?,系统,工作,数据,管理,设备,环境,标的,第一,网上,模式,lin

      linux转移文件命令?

      linux转移文件命令?,文件,命令,密码,电脑,位置,名称,信息,系统,目录,目标,lin

      linux下替换文件命令?

      linux下替换文件命令?,文件,一致,评论,名称,标的,资料,工作,命令,字符串,内

      linux文件nl命令?

      linux文件nl命令?,地址,工作,信息,系统,情况,标准,实时,对比,百度,命令,linux

      设置网址命令linux?

      设置网址命令linux?,地址,系统,网络,代码,网址,密码,信息,电脑,管理,基础,lin

      linux寻找文件夹命令?

      linux寻找文件夹命令?,名称,命令,文件,位置,工作,标准,目录,子目录,文件名,

      linux跳到文件尾命令?

      linux跳到文件尾命令?,系统,文件,命令,管理,状态,实时,末尾,光标,内容,编辑,l

      linux把文件复制命令?

      linux把文件复制命令?,名字,文件,软件,系统,位置,目录,命令,源文件,目标,文

      复制项目的linux命令?

      复制项目的linux命令?,系统,项目,文件,命令,目录,源文件,语法,选项,目标,功

      linux文件夹合并命令?

      linux文件夹合并命令?,文件,对比,第一,下来,命令,文件夹,两个,字段,内容,数

      linux下文件创建命令?

      linux下文件创建命令?,名字,名称,首次,命令,文件,系统,密码,文件名,文件夹,

      linux命令行安装文件?

      linux命令行安装文件?,软件,官网,密码,中心,电脑,文件,命令,终端,指令,版本,L

      linux文件解包命令?

      linux文件解包命令?,系统,地址,命令,文件,管理,手机,数据,工具,标准,单位,lin