储存库不干净。在Angular 8中进行更新之前,请提交或存储任何更改

时间:2019-06-26 13:05:31

标签: git typescript angular8

错误

  

存储库不干净。请先提交或存储任何更改,然后再更新

当我从版本7更新到Angular 8时。

升级指南https://update.angular.io/#7.0:8.0

to_csv
  

存储库不干净。请先提交或存储任何更改,然后再进行更新。

更新版本

  D:\app-test> ng update @angular/cli @angular/core
               npm cache verify

我已检查git是否未安装在项目中。

有效的解决方案

    PS D:\app-test> ng update
                Using package manager: 'npm'
                Collecting installed dependencies...
                Found 58 dependencies.
                    We analyzed your package.json, there are some packages to update:

                      Name                               Version                  Command to update
                     --------------------------------------------------------------------------------
                      @angular/cdk                       7.2.2 -> 8.0.1           ng update @angular/cdk
                      @angular/core                      7.2.15 -> 8.0.1          ng update @angular/core
                      @angular/core                      7.2.2 -> 7.2.15          ng update @angular/core
                      @angular/material                  7.3.7 -> 8.0.1           ng update @angular/material
                      rxjs                               6.3.3 -> 6.5.2           ng update rxjs


                    There might be additional packages that are outdated.
                    Run "ng update --all" to try to update all at the same time.

                PS D:\app-test> ng update @angular/cdk
                Repository is not clean.  Please commit or stash any changes before updating.

在谷歌搜索之后,这已经发生在Angular 8之后。

错误

https://github.com/angular/angular-cli/issues/14600

8 个答案:

答案 0 :(得分:37)

我曾尝试使用提及命令将角度8升级到角度9,但仍然出现错误。

然后我用--force标志尝试了相同的命令,它对我有用。

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

答案 1 :(得分:20)

我遇到了同样的问题。这是Angular 8中的常见错误。您可以简单地使用肮脏的命令绕过存储库检查,例如(如果您确实需要绕过此检查,请遵循强制命令)

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

但是,我没有那样做。我遵循以下步骤...

首先请仔细检查是否在更新之前已提交所有更改。然后将项目的副本保存到同一位置,并将副本也提交到Git。然后从原始项目目录运行以下命令

ng update @angular/core@8 @angular/cli@8

之后,您可以删除副本。这对我有用! 谢谢!

答案 2 :(得分:2)

我遇到了同样的问题,我使用以下命令解决了

git stash save --include-untracked

答案 3 :(得分:1)

这是Android 8中的错误

您可以使用以下方法解决此问题:

ng更新@ angular / cli @ angular / core --allow-dirty

答案 4 :(得分:0)

在我的情况下,这是由于.gitignore未排除node_modules文件夹。添加后,该错误将不再出现

答案 5 :(得分:0)

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

上面的命令解决了我的问题,allow-dirty 标志不起作用。

答案 6 :(得分:-1)

首先,检查代码中是否存在尚未推送到git的任何更改(如果可以)将其推送,然后关闭旧实例(cmd)并打开新的cmd实例,然后运行命令。 这对我有用,谢谢

答案 7 :(得分:-1)

我的提交有问题,我做了commit all

ng update @angular/core @angular/cli