IntelliJ IDEA
 
获取 IntelliJ IDEA

解决 Git 冲突

最后修改时间:2023 年 9 月 7 日

当您在团队中工作时,您可能会遇到有人将更改推送到您当前正在处理的文件的情况。如果这些更改不重叠(即,对不同的代码行进行了更改),则会自动合并冲突的文件。但是,如果相同的行受到影响,Git 无法随机选择一侧而不是另一侧,并要求您解决冲突。

在 Git 中,当您尝试执行以下操作之一时可能会出现冲突:pullmergerebasecherry-pickunstash 更改apply a patch。如果存在冲突,这些操作将失败,并且系统将提示您接受上游版本、首选您的版本或合并更改:

合并冲突的文件对话框

当在 Git 级别检测到冲突时,会自动触发“冲突”对话框。

如果您在此对话框中单击“关闭”或从命令行调用导致合并冲突的 Git 操作,则“本地更改”视图中将出现“合并冲突”节点,并提供用于解决这些问题的链接:

本地更改视图中的合并冲突节点

IntelliJ IDEA 提供了一个在本地解决冲突的工具。该工具由三个窗格组成:

  • 左侧窗格显示只读本地副本

  • 右窗格显示签入存储库的只读版本。

  • 中央窗格是一个功能齐全的编辑器,其中显示解决冲突的结果。最初,此窗格的内容与文件的基本修订版本相同,即派生两个冲突版本的修订版本。

冲突解决工具中的颜色编码