一个分支上提交的更改会破坏另一个分支上的内容

Committed changes on one branch break things on another branch

这是问题的运行摘要:

  1. 我正在运行在Xcode模拟器上运行我的项目,一切正常。
  2. 我切换到一个新分支来更新 React Native。我 运行 npm 安装和 pod 安装。
  3. 我尝试构建它,它失败了,没问题,还有一些问题需要解决。
  4. 我提交我所做的更改,稍后我会回来。
  5. 我切换回第一个分支,现在构建失败,出现与我在新分支上遇到的错误相同的错误。

我没有对第一个分支做任何修改,git日志和之前一样,为什么会这样?

两者现在在 Android Studio 中也都失败了,尽管错误不同。

Xcode 错误:

ENOENT: no such file or directory – I think this is because of a space in my path. It wasn't an issue before I did the update but if I fix that, I get:

The sandbox is not in sync with podfile.lock (What is the sandbox? I wonder if this is the issue?)

Android 工作室错误:

Gradle sync failed: Plugin with id 'maven' not found

问题不是错误,我可以找到解决这些问题的方法,问题是它在工作,没有任何改变,现在它不工作了。

我已经 运行 参加过两次了。我第一次花几个小时阅读论坛并尽我所能,但唯一有帮助的是删除我的本地存储库并从远程拉下一个新的。但是,如果我每次更新内容时不必这样做就好了。

有人 运行 喜欢这个吗?

如果有帮助,这里有一些规范:

非常感谢!

问题可能是对 gitignore 中的文件进行了更改,可能是 Podfile.lock 和 node_modules 中的文件。当切换回原来的分支时,您必须再次 运行 yarn / npm install,然后再进行 pod install。当 Pods 目录的内容与 Podfile 中规定的内容不同步时,会出现“沙盒”错误。

如果您已经这样做了,请尝试停止您的 Metro 实例并 运行 宁 npx react-native-clean-project。有几个缓存可能需要失效或刷新:原生构建、Metro、gradle、watchman 等