ChatGPT解决这个技术问题 Extra ChatGPT

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

错误

存储库不干净。请在更新前提交或存储任何更改

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

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

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

存储库不干净。请在更新前提交或存储任何更改。

更新版本

    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.

我检查了项目中没有安装 git。

有效的解决方案

   git commit 

谷歌搜索后我有这发生在Angular 8之后。

漏洞

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


b
beta

这是Angular 8中的一个错误

您可以使用以下方法解决它:

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


这不起作用..给出错误'存储库不干净。更新更改将与预先存在的更改混合。使用包管理器:'npm' 正在收集已安装的依赖项...找到 0 个依赖项。包 '@angular/cli' 不是依赖项。
不工作..,也给出错误'Repository is no ...,'。
这不是一个错误 - 这是一个有意的功能,适用于 CLI 无意中更新了一个不打算更新的文件,可能会破坏您的应用程序。
@Edric 当它错误地发出此消息时,这是一个错误,因为它正在为我做(v8.2)
你拯救了我的一天!谢谢!
s
sharad jain

我尝试使用提及命令从 angular 8 升级到 angular 9,但仍然出现错误。

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

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

M
MrMalith

我有同样的问题。这是 Angular 8 中的一个常见错误。您可以简单地使用脏命令绕过 repo 检查,例如(如果您真的需要绕过这个,请遵循强制命令)

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

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


S
Sathiamoorthy

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

git stash --include-untracked

请注意,git-stashsave 选项是 Git 2.15/2.16(2018 年第一季度)中的 deprecated,支持 git stash push(或 git stash)。
我从答案中删除了它,谢谢@Edric。
j
jonathasborges1

为我工作

sudo npm update @angular/cli @angular/core --allow-dirty --legacy-peer-deps

其他人都没有为我工作,但这个人做到了! 2022 年 5 月
j
jgritten

就我而言,这是由于 .gitignore 没有排除 node_modules 文件夹。添加后不再出现此错误


E
Experimenter

它可能出现在许多情况下。只需提交或存储任何更改并再次运行该命令。


R
Raviteja Javvadi

首先,检查您的代码中是否有任何未推送到 git 的更改,如果是,请推送它们,然后关闭旧实例(cmd)并打开一个新的 cmd 实例,然后运行命令。这对我有用,谢谢


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅