Language agnostic 什么不应该受源代码控制?
最好有一个或多或少完整的列表,列出哪些文件和/或目录不应该(在大多数情况下)受源代码控制。你认为应该排除什么 迄今为止的建议: 一般来说Language agnostic 什么不应该受源代码控制?,language-agnostic,version-control,Language Agnostic,Version Control,最好有一个或多或少完整的列表,列出哪些文件和/或目录不应该(在大多数情况下)受源代码控制。你认为应该排除什么 迄今为止的建议: 一般来说 使用敏感信息(密码、私钥等)配置文件 Thumbs.db、.DS_存储和desktop.ini 编辑器备份:*~(emacs) 生成的文件(例如DoxyGen输出) C# 垃圾箱\* obj\* *.exe Visual Studio *索先生 *.国家编目局 *.用户 *.aps *.cachefile *.备份 _升级报告\u文件 Java
- 使用敏感信息(密码、私钥等)配置文件
- Thumbs.db、.DS_存储和desktop.ini
- 编辑器备份:*~(emacs)
- 生成的文件(例如DoxyGen输出)
- 垃圾箱\*
- obj\*
- *.exe
- *索先生
- *.国家编目局
- *.用户
- *.aps
- *.cachefile
- *.备份
- _升级报告\u文件
- *.类
- *pyc先生
-*~包含密码或任何其他敏感信息的配置文件。操作系统特定文件,由其文件浏览器生成,如
Thumbs.db
和.DS\u Store
生成的任何文件都不应签入。二进制、字节码、由XML生成的代码/文档
从我的评论中,排除:
- 构建生成的任何内容,包括代码文档(doxygen、javadoc、pydoc等)
- 没有或源代码的第三方库不会生成
- 所有原始代码
- Qt源代码和内置调试/发布
- (非常过时的)规格
我们没有为我们的软件构建模块。每两周分发一份完整的二进制文件,其中包含最新的更新。临时文件,配置除全局开发和敏感信息以外的任何内容。来自编辑器的临时文件
.*.sw?
*~
等等。可以由IDE、构建过程或二进制可执行过程生成的任何内容。无论何种语言:
- 缓存文件
- 一般来说,导入的文件也不应该(像用户在web应用程序上上传的图像)
- 临时档案;甚至是由操作系统(如windows下的thumbs.db)或IDE生成的
- 使用密码配置文件?取决于谁有权访问存储库
对于那些不知道的人来说:这太棒了 实际的配置文件,例如asp.net中的web.config,因为人们可以有不同的设置。通常我处理这个问题的方法是在SVN上有一个web.config.template。人们得到它,进行他们想要的更改,并将其重命名为web.config 除了这一点和您所说的,还要小心包含密码的敏感文件(例如)
避免Windows(thumb)或Mac OS(.ds_store)生成的所有恼人的文件。其他一些Visual Studio典型的文件/文件夹是
*.cachefile
*.backup
_UpgradeReport_Files
例如,我的乌龟全局忽略模式如下所示
bin obj *.suo *.user *.cachefile *.backup _UpgradeReport_Files
与生成的任何东西一样,特别是由构建过程和开发环境生成的任何东西都是很好的候选对象。例如:
- 二进制文件和安装程序
- 字节码和档案
- 从XML和代码生成的文档
- 由模板和代码生成器生成的代码
- IDE设置文件
- 备份IDE或编辑器生成的文件
- 图像和视频
- 第三方图书馆
- 特定于团队的IDE设置文件
最终,你将需要考虑在事例基础上在源代码控制中所做的事情。确定一份硬性清单,列出哪些内容和哪些内容不放在下面,只会对某些人有效,而且可能会持续很长时间。当然,添加到源代码管理中的文件越多,更新工作副本所需的时间就越长。不属于源代码管理的内容分为三类
*.bak
由WinMerge生成。另外:
Visual Studio
- *.国家编目局
- (需要修订历史记录,或者是在生成之外创建的,但属于生成、安装或介质的一部分)以及
- 无法由您控制的生成过程生成,并且
- 对于生成产品的所有用户都是通用的(无用户配置)
- 源文件
- 生成、项目和解决方案文件
- 其他生成工具配置文件(与用户无关)
- 第三方库
- 预构建的文件,如PDF和do
- 我会以不同的方式处理这个问题;源代码管理中应该包括哪些内容?您应该仅对以下文件进行源代码管理: