应该从源代码管理中排除哪些.net文件?

时间:2009-06-14 09:41:56

标签: .net version-control

.net应用程序中的哪些文件扩展名应从源代码管理中排除,为什么请?

4 个答案:

答案 0 :(得分:29)

取决于项目,但我的.gitignore中的Silverlight + WPF项目有以下内容:

# Visual Studio left-overs
*.suo        # 'user' settings like 'which file is open in Visual Studio'
*.ncb        # Used for debugging
*.user
*.ccscc      # Used for versioning
*.cache

# Editor left-overs
*~           # (x)emacs
*.bak        # Windows related
\#*\#        # (x)emacs
*.orig       # Own usage

# Compiled files
*/bin/
*/obj/
*/Obj/       # git is case sensitive
*/Generated_Code/
PrecompiledWeb
*/ClientBin
# Windows left-overs
Thumbs.db    # Having images in the source tree generates those files in Explorer

但是,'。suo'有些问题:它还包含应该是项目设置的“用户”设置,例如Silverlight应用程序的启动页面。

最好也是唯一的方法是迭代添加要排除的文件。如果您正在使用git,请使用git-gui快速,交互地查看您忘记排除的文件列表。适应.gitignore并在git-gui中刷新。迭代直到剩下的文件是你输入的文件。

某些类型的文件预先不太清楚。确保您了解您签入的所有文件。例如,对于我们Silverlight项目中的RIA服务,我们有一个由Visual Studio生成的身份验证数据库,其中包含2个帐户,并生成了一个巨大的10Mb .MDB数据库文件(!)。一旦我们了解它的来源,将其更改为SQL转储就会将大小减小到(仍然很大)500Kb。总是需要在签到之前不断(重新)检查,因此没有明确的列表。

答案 1 :(得分:3)

这实际上取决于您的构建系统。检查运行完整版本所需的最少文件。

通常,这意味着您排除除csproj和* .cs文件之外的所有内容。如果需要,您可以签入.sln文件。

答案 2 :(得分:1)

我从这个问题中得到了我的清单: Best general SVN Ignore Pattern?

与任何“列表”一样,请务必查看排除对象并确保所有排除项都适合您的需求,但这是一个很好的开始。

答案 3 :(得分:0)

这是我在最近的.NET项目中使用的最少条目的列表。

*.vs
*.user
*.cache
bin/
obj/
  • 第一个条目省略了隐藏的文件夹.vs及其内容。
  • 最后两个省略了这些文件夹下的任何内容。

如果投票否决,可以随时添加评论。