Mac SourceTree 合并似乎中断了分支

Mac SourceTree merge seems to break branch

正在 Visual Studio Mac 的 Xamarin.forms 项目中工作。

所以:

所以现在我想将修复合并回我的另一个分支,对吗?

所以我切换回“开发”并执行此操作:

..然后是这个:

...我收到有关冲突的警告:

...我用“他们的”来解决它们,因为这就是我想要的,对吧?

...然后是事情...

...现在我的项目不会 运行.

如果我切换回“doesNotHaveDeviceTokenBug”分支,该项目仍然运行良好。

但是当我在“开发”时,我遇到了很多错误。

...我不明白。我修复了一个错误,现在我想将该修复合并回其原始分支——这不是这件事的全部意义吗??

我做错了什么?

我在 Mac 上经常使用 SourceTree,我非常喜欢它,但我绝不会在一百万年内像那样“盲目”合并。当您将 doesNotHave... 合并到 development 并遇到合并冲突时,停止并 查看 有冲突的文件并解决冲突自己直接在这些文件中。您的最后一个屏幕截图显示了冲突文件及其冲突标记;您只需使用您最喜欢的文本编辑器直接编辑它们,完成后,将它们标记为已解决并让合并继续。

所以我建议将 development 硬重置回 c2c8c50c 并再次进行合并,这一次,查看冲突期间发生的情况并确保一切都有意义当你解决它时给你。

此外,您似乎认为 theirs 策略解决的冲突合并将 相同 theirs。换句话说,你是说:嘿,这在合并前的 doesNotHave... 上测试得很好,所以它应该在合并后的 development 上测试得很好。

但合并远不止于此。 合并的 双方都可以做出贡献。因此,无论您如何解决特定文件中的冲突,您可能仍然会将您在 doesNotHave... 上的贡献与来自 develop 的贡献结合在一起,但不能很好地协同工作。