首页 > 解决方案 > Mac SourceTree 合并似乎打破了分支

问题描述

在 Xamarin.forms 项目上使用 Visual Studio Mac。

所以:

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

所以我切换回“开发”,我这样做:

在此处输入图像描述

..然后这个:

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

......然后事情就是这样......

...现在我的项目将无法运行。

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

但是当我处于“开发”阶段时,我会遇到很多错误。

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

我究竟做错了什么?

标签: gitxamarin.formsatlassian-sourcetreevisual-studio-mac

解决方案


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

因此,我建议重新进行硬重置developmentc2c8c50c再次进行合并,这一次,看看冲突期间发生了什么,并确保在解决它时这一切都对你有意义。

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

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


推荐阅读