.net应用程序中的哪些文件扩展名应从源代码管理中排除,为什么请?
答案 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/
如果投票否决,可以随时添加评论。