【问题标题】:Merge diff corrupts code in IntelliJ合并差异会破坏 IntelliJ 中的代码
【发布时间】:2016-11-07 14:34:28
【问题描述】:

我正在尝试合并 IntelliJ 中的一些修订,但它显示了我的差异。不幸的是,diff 没有注意到相同的代码并插入了奇怪的文本,例如

<<<<<<<HEAD

进入结果。

这里是截图。如您所见,代码是相同的,但它在某处是红色的,在某处是蓝色的。

如何恢复正常的合并功能?

【问题讨论】:

  • 实际上它不是一个奇怪的文本,当您尝试与另一个提交合并时,它会显示您当前的代码在冲突的地方。如果您可以截屏并放置完整的文件,那就更清楚了。 :))

标签: git intellij-idea merge diff


【解决方案1】:

您在这里遇到的是合并冲突。您可以在此处阅读有关 IntelliJ 如何在此处的冲突解决工具下处理冲突的更多信息:https://www.jetbrains.com/help/idea/2016.2/resolving-conflicts.html

Git 将“奇怪的文本”注入到冲突文件中,因此即使在 IntelliJ 合并工具之外您也会看到这些内容。如果本地和远程内容不同,一行= 符号将成为本地版本和远程版本之间的分隔符。在这种情况下,由于两个修订版相同,因此您只需与来自两个来源的相同内容的单行冲突。

基本上,您需要通过选择屏幕截图窗口面板两侧的 V 形和 X 来选择要使用的代码版本。还有一个方便的“合并非冲突更改”按钮,可以更轻松地查看实际冲突。

【讨论】:

  • 为什么会这样显示冲突?我之前有很多冲突,它们以不同的方式显示。我可以选择左或右或两者兼而有之。没有注入任何文本。
  • 查看您自己的 Jetbrains 链接。它也有冲突。两边都是红色的,代表冲突。在任何一侧,我都可以按“>>”或“x”。我可以在两边按“x”,也可以在两边按“>>”。结果文本中没有任何“>>>>>>>>>>>>>>”。这就是它以前一直的行为方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-07
  • 2012-04-28
  • 1970-01-01
  • 2018-03-31
相关资源
最近更新 更多