存储库不干净
Repository is not clean
正在更新 angular 7 到 angular 8,我使用命令 $ ng update @angular/cli@v8 @angular/core@v8
成功更新到 angular/cli angular/core
。
我也使用了 angular material,所以我想更新 material 然后我用 $ 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
的帮助下重新安装。安装后我再次尝试,然后也收到相同的消息。
有谁知道,如何更新material?
运行 git reset --hard
或 git stash
再试一次。
您提到您有未跟踪的文件。这些导致检查失败(具有未跟踪文件的 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
。
如果您想绕过该警告,您应该使用 --allow-dirty
,它适用于 @angular/cli v8.0.1+。
更新 @angular/material
的命令如下所示:
ng update @angular/material@v8 --allow-dirty
要更新所有包,您可以使用:
ng update -all --allow-dirty
这是 Angular 8 中的错误。您可以使用以下命令解决问题:
ng update @angular/cli @angular/core --allow-dirty --force
正在更新 angular 7 到 angular 8,我使用命令 $ ng update @angular/cli@v8 @angular/core@v8
成功更新到 angular/cli angular/core
。
我也使用了 angular material,所以我想更新 material 然后我用 $ 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
的帮助下重新安装。安装后我再次尝试,然后也收到相同的消息。
有谁知道,如何更新material?
运行 git reset --hard
或 git stash
再试一次。
您提到您有未跟踪的文件。这些导致检查失败(具有未跟踪文件的 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
。
如果您想绕过该警告,您应该使用 --allow-dirty
,它适用于 @angular/cli v8.0.1+。
更新 @angular/material
的命令如下所示:
ng update @angular/material@v8 --allow-dirty
要更新所有包,您可以使用:
ng update -all --allow-dirty
这是 Angular 8 中的错误。您可以使用以下命令解决问题:
ng update @angular/cli @angular/core --allow-dirty --force