我正在尝试既升级Flutter SDK,又将Flutter频道更改为master,但是遇到以下错误:
master
git: error: Your local changes to the following files would be overwritten by checkout: git: examples/catalog/android/build.gradle git: examples/catalog/android/gradle/wrapper/gradle-wrapper.properties git: packages/flutter_tools/gradle/flutter.gradle git: Please commit your changes or stash them before you switch branches. git: Aborting Switching channels failed with error code 1.
为什么会发生这种情况,以及如何解决呢?
发生这种情况是因为文件已在本地更改。这意味着您的计算机上的版本与GitHub上的版本不同。
解决此问题的最简单方法是使用--force:
--force
flutter upgrade --force
这将 覆盖 任何不匹配的文件。确保您没有由此而失去的进步(例如,当您为进行PR时flutter)。
flutter
解决此问题的另一种方法是从设备中删除文件,然后执行flutter upgrade。这将解决Git错误,因为它只会再次从Internet提取文件。
flutter upgrade
为此,请转到Flutter目录并删除文件。例如,如果您的Flutter SDK目录为F:/data/flutter,则需要删除以下文件:
F:/data/flutter
F:/data/flutter/examples/catalog/android/build.gradle
F:/data/flutter/examples/catalog/android/gradle/wrapper/gradle-wrapper.properties
F:/data/flutter/packages/flutter_tools/gradle/flutter.gradle