Repository is not clean
Asked Answered
A

3

5

Updating angular 7 to angular 8, I updated successfully upto angular/cli angular/core using the command $ ng update @angular/cli@v8 @angular/core@v8. And i used angular material also, so i want to update material then i update with $ ng update @angular/material@v8. But after running the command i got Repository is not clean. Please commit or stash any changes before updating.

So I committed before changes to git, then again I tried with the same command, then also getting the same message. Now there are no files to commit or stash.

This is the dependencies of the package.json files: "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" }

This is the message i got: D:\test>ng update @angular/material@v8 Repository is not clean. Please commit or stash any changes before updating.

I delete the node_modules folder and reinstalled with the help of $ npm install --save. After installed i tried again, then also getting the same message.

Does anyone know, how to update the material?

Aleida answered 13/6, 2019 at 11:45 Comment(2)
you must have other changes done to your files, node_modules should never be committed to git, what do you get after running git status?Modern
it's showing few files under the Untracked files:, I think those files are no need to committ to git.Aleida
Q
9

You mentioned that you have untracked files. These are causing the check to fail (a git repository with untracked files is considered unclean). More about this here.

You can see how the ng tool runs this check here: https://github.com/angular/angular-cli/blob/3d25d4cb/packages/angular/cli/commands/update-impl.ts#L351

You can stash these files with:

git stash save --include-untracked

And unstash them after running the update with:

git stash pop

Your other options are to delete the files or add them to your .gitignore.

Quintin answered 13/6, 2019 at 14:12 Comment(0)
R
5

You should use --allow-dirty if you want to bypass that warning, it works on @angular/cli v8.0.1+.

Your command for updating @angular/material would look like the following:

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

For updating all packages you can use:

ng update -all --allow-dirty
Ridicule answered 1/8, 2019 at 23:22 Comment(0)
E
0

Run git reset --hard or git stash and try again.

Ergo answered 13/6, 2019 at 13:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.