Version control 对于Asp.Net核心MVC应用程序,源代码管理中应该存储什么?

Version control 对于Asp.Net核心MVC应用程序,源代码管理中应该存储什么?,version-control,asp.net-core,asp.net-core-mvc,Version Control,Asp.net Core,Asp.net Core Mvc,使用新的Asp.net核心MVC项目,例如: 那里有很多不熟悉的文件夹,比如bower\u组件,wwwroot,依赖项,等等 源代码管理中应该存储什么?我同意 (绿色表示是,红色表示否) 唯一未列出的例外是.xproj(对于TFS,则是.xproj.vspscc) 我从本地工作区(备份到其他地方后)删除了该文件夹,并从源代码管理中恢复,所有包恢复后,一切似乎都正常运行 这假设gulpfile.js配置为将所需的css,js,font组件移动到wwwroot中 另外,自从我写了这篇文章之后,在

使用新的Asp.net核心MVC项目,例如:

那里有很多不熟悉的文件夹,比如
bower\u组件
wwwroot
依赖项
,等等

源代码管理中应该存储什么?我同意

(绿色表示是,红色表示否)

唯一未列出的例外是
.xproj
(对于TFS,则是
.xproj.vspscc

我从本地工作区(备份到其他地方后)删除了该文件夹,并从源代码管理中恢复,所有包恢复后,一切似乎都正常运行

这假设
gulpfile.js
配置为将所需的
css
js
font
组件移动到
wwwroot

另外,自从我写了这篇文章之后,在我受源代码控制的
properties
文件夹中有一个
launchSettings.json
(不知道为什么它只是刚刚生成的)


我的
.tfsignore
文件当前为:

project\wwwroot
!project\wwwroot\web.config
project\node_modules
project\bower_components

(到目前为止,这似乎还可以,但如果添加了其他静态资源(如JS、CSS和图像),则可能会发生变化。)

任何属于项目设置的内容,或者您直接更改的内容都应该存储。任何直接下载的内容(引用、bower/node)或直接基于这些内容的内容(通过gulp复制的lib文件夹)都应忽略


因此,在您的例子中,忽略bower、node和project\wwwroot\lib。如果有自定义css或js,则需要wwwroot文件夹

您不应该忽略wwwroot,因为它还包含自定义图像、CSS和JavaScript文件;)@JuergenGutsch我认为这个想法是使用
gulpfile.js
将任何自定义CSS/js移动到一个合适的捆绑包中?是的,但是gulp(甚至grunt)完全独立于wwwroot。gulp将检查wwwroot中的文件,以将其打包,但原始文件也位于wwwroot文件夹中。您需要将此文件提交到源代码管理,以便与团队中的任何其他开发人员共享此文件中的工作;)@JuergenGutsch很有趣。我的目标是精简wwwroot
wwwroot
,只保留其中发布的内容,当然我需要修改忽略项,使其不包含图像。可以将这些文件(图像、脚本和css)放在wwwroot之外,但您需要确保最后文件都在其中。这不会自动完成。表示“wwwroot”不是新的“bin”,而是web应用程序的根目录。您没有提到您正在使用的源代码管理,但有一个是最新的,可以忽略的标准设置(即使在VS 2015/.NET Core/DNX中)。无论您使用什么源代码管理,都可以对其进行调整。