在 grunt 中,如何从 dist 文件夹中的 clean 中排除 .git 文件夹

In grunt , how to exclude .git folder from clean in dist folder

目前我的代码是:

clean: {
      dist: {
        files: [{
          dot: true,
          src: [
            '.tmp',
            '<%= yeoman.dist %>/{,*/}*',
            '!<%= yeoman.dist %>/.git/**'
          ]
        }]
      },
      server: '.tmp'
    },

但它仍在删除 dist 文件夹中的 .git 文件夹。

只需忽略 src 数组中的 .git 即可避免删除它。
以下任务对我有用(before 部分):

clean: {
        before: {
            src: ['dist/**/*', '!dist/.git/**', '!dist/.gitignore', 'temp'] //do not clean the git folder
        },
        after: {
            src: ['temp']
        }
    },

上面的 clean 任务会清除 disttemp 文件夹的全部内容,除了dist/.git 文件夹和 dist/.gitignore 文件中的内容。

我将此任务用作构建和部署流程的一部分并且工作正常,尽管 dist 文件夹已清理(没有 .git's).

希望这对某人有所帮助!