存储库不干净

时间:2019-06-13 11:45:03

标签: git typescript github angular-cli angular-cli-v7

将角度7更新为角度8,我使用命令angular/cli angular/core成功更新到$ ng update @angular/cli@v8 @angular/core@v8。 而且我也使用角形材质,所以我想先更新材质,然后再用$ ng update @angular/material@v8更新。 但是运行命令后,我得到了Repository is not clean. Please commit or stash any changes before updating.

所以我在更改git之前就提交了,然后再次尝试使用相同的命令,然后又得到了相同的消息。现在没有要提交或存储的文件。

这是package.json文件的依赖项: "dependencies": { "@angular/animations": "^8.0.0", "@angular/cdk": "^7.3.7", "@angular/common": "^8.0.0", "@angular/compiler": "^8.0.0", "@angular/core": "^8.0.0", "@angular/forms": "^8.0.0", "@angular/material": "^7.3.7", "@angular/platform-browser": "^8.0.0", "@angular/platform-browser-dynamic": "^8.0.0", "@angular/router": "^8.0.0", "core-js": "^2.5.4", "hammerjs": "^2.0.8", "ngx-loading": "^3.0.1", "rxjs": "6.5.2", "underscore": "^1.9.1", "zone.js": "~0.9.1" }, "devDependencies": { "@angular-devkit/build-angular": "~0.800.0", "@angular/cli": "~8.0.2", "@angular/compiler-cli": "^8.0.0", "@angular/language-service": "^8.0.0", "@types/jasmine": "~2.8.6", "@types/jasminewd2": "~2.0.3", "@types/node": "~8.9.4", "bootstrap-sass": "^3.3.7", "codelyzer": "^5.0.1", "jasmine-core": "~2.99.1", "jasmine-spec-reporter": "~4.2.1", "karma": "~1.7.1", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "~2.0.0", "karma-jasmine": "~1.1.1", "karma-jasmine-html-reporter": "^0.2.2", "karma-scss-preprocessor": "^3.0.0", "protractor": "~5.3.0", "ts-node": "~5.0.1", "tslint": "~5.9.1", "typescript": "~3.4.5" }

这是我收到的消息: D:\test>ng update @angular/material@v8 Repository is not clean. Please commit or stash any changes before updating.

我删除了node_modules文件夹,并借助$ npm install --save重新安装。安装后,我再次尝试,然后也收到相同的消息。

有人知道如何更新材料吗?

4 个答案:

答案 0 :(得分:1)

如果您想绕过该警告,则应使用--allow-dirty,它适用于@ angular / cli v8.0.1 +。

您用于更新@angular/material的命令如下所示:

ng update @angular/material@v8 --allow-dirty

要更新所有软件包,可以使用:

ng update -all --allow-dirty

答案 1 :(得分:0)

运行git reset --hardgit stash,然后重试。

答案 2 :(得分:0)

您提到您有未跟踪的文件。这些导致检查失败(带有未跟踪文件的git存储库被认为是不干净的)。有关此here的更多信息。

您可以在此处查看ng工具如何运行此检查:https://github.com/angular/angular-cli/blob/3d25d4cb/packages/angular/cli/commands/update-impl.ts#L351

您可以使用以下方式隐藏这些文件:

git stash save --include-untracked

并使用以下命令运行更新后取消隐藏它们:

git stash pop

您的其他选择是删除文件或将其添加到您的.gitignore

答案 3 :(得分:0)

这是Angular 8中的一个错误。您可以使用以下命令来解决:

ng update @angular/cli @angular/core --allow-dirty --force