WebStorm 2026.2 Help

解决 Git 冲突

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

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

文件合并冲突对话框

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

对于每个存在冲突更改的文件,有三种解决冲突的选项:

  • 接受 您的更改​ :保留当前检出分支中的更改,丢弃正在合并分支中的更改。

  • 接受 他人的更改 :接受正在合并分支中的更改,丢弃当前检出分支中的更改。

  • 手动解决每个冲突 :审查每个冲突并选择要保留的更改。

双击有冲突更改的文件后,WebStorm 会打开一个用于本地解决冲突的工具。 此工具由三个窗格组成:

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

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

  • 中央窗格是一个功能齐全的编辑器,用于显示解决冲突的结果。 最初,此窗格的内容与文件的 基准修订版本相同,也就是两个冲突版本来源于该修订版本。

冲突解决工具

解决冲突

在手动为每个文件解决冲突之前,可以通过在 冲突 对话框中点击 解决所有简单冲突 ,自动合并所有文件中没有冲突的更改。

  1. 要开始合并冲突更改,请在 冲突 对话框中选择有冲突的文件之一,然后点击 手动解决

  2. 要自动合并所有不冲突的更改,请点击工具栏上的 “应用不冲突更改”按钮 (应用所有不冲突的更改)。 您还可以使用 左侧应用非冲突更改按钮从左侧应用不冲突的更改 )和 从右侧应用无冲突更改按钮从右侧应用不冲突的更改 )分别从对话框的左/右部分合并无冲突的更改。

  3. 要解决冲突,您需要选择应用哪个操作(接受 接受按钮 或忽略 忽略按钮 )到左侧(本地)和右侧(仓库)版本,并在中央窗格中检查结果代码:

    解决冲突

    您还可以右键点击中央窗格中高亮显示的冲突,并使用上下文菜单中的命令。 使用左侧解决使用右侧解决 命令分别提供了接受一侧更改和忽略另一侧更改的快捷方式:

    冲突更改的上下文菜单

    对于简单冲突(例如,在其中一个修订版中添加了一行额外的内容),工具栏上会提供允许一键合并更改的 解决简单冲突 解决简单冲突按钮 按钮。

    解决简单冲突按钮

    此类冲突不会通过 应用所有不冲突的更改 操作解决,您必须确保它们得到妥善解决。

  4. 在解决冲突时,比较不同版本可能也是有用的。 使用 “比较内容”按钮 工具栏按钮调用选项列表。 请注意, 基准 指的是本地版本和存储库版本源自的文件版本(最初显示在中间窗格中),而 中间 指的是最终版本。

  5. 在中央窗格中查看合并结果,然后点击 应用更改。 当前文件会关闭,下一个有冲突的文件会打开。

    如果点击 保存并关闭 ,当前文件会关闭,您将返回剩余冲突的列表:

    冲突对话框中未解决和已解决冲突的列表

    如果需要还原合并结果,请在 冲突 对话框中右键点击该文件并选择 还原冲突解决。 该文件将恢复到有冲突的状态。

  6. 如果没有剩余冲突, 冲突 对话框会启用 接受并完成 选项。 点击它以完成合并。

提高效率的提示

自动应用无冲突的更改

您可以配置 WebStorm 始终自动应用不冲突的更改,而无需从 合并 对话框中指示它去执行。 为此,请在 工具 | Diff Merge 设置页面上选择 自动应用不冲突的更改 选项 Ctrl+Alt+S

在中央窗格中管理更改

您可以使用工具栏在中央窗格中管理更改,该工具栏会在您悬停在装订区域的更改标记上并点击它时出现。 工具栏与显示被修改行先前内容的框架一起显示:

更改工具栏

例如,当有多个不冲突的更改,且您只需要跳过其中一两个时,使用此工具栏中的 应用所有不冲突的更改 操作同时应用所有更改,然后使用 还原 操作撤销不需要的更改会更容易。

处理与 LF 和 CRLF 行结尾相关的冲突

团队中经常有人使用不同的操作系统,对同一个存储库进行贡献。 这可能会导致行尾问题,因为 Unix、Linux 和 macOS 使用 LF ,而 Windows 使用 CRLF 来标记行尾。

WebStorm 显示 差异查看器 中的换行符差异,因此您可以手动修复它们。 如果您希望 Git 自动解决此类冲突,您需要在 Windows 上设置 core.autocrlf 属性为 true ,在 Linux 和 macOS 上设置为 input (详情请参阅 处理行结尾)。 您可以在 Windows 上运行 git config --global core.autocrlf true 或在 Linux 和 macOS 上运行 git config --global core.autocrlf input 手动更改配置。

然而,WebStorm 可以自动分析您的配置,在您即将提交 CRLF 到远程存储库时发出警告,并建议根据您的操作系统将 core.autocrlf 设置为 trueinput

为启用 LFCRLF 行分隔符的智能处理,请打开 设置 对话框 Ctrl+Alt+S ,并选择左侧的 版本控制 | Git 节点。 启用 当即将提交 CRLF 行分隔符时发出警告 选项。

您启用此选项后,WebStorm 将在每次提交带有 行分隔符警告对话框 分隔符的文件时显示 CRLF ,除非您在受影响的文件中设置了任何相关的 Git attributes (在这种情况下,WebStorm 认为您清楚了解自己在做什么并从分析中排除此文件)。

行分隔符警告对话框 中,点击以下其中一个:

  • 按原样提交 忽略警告并提交带有 CRLF 分隔符的文件。

  • 修复并提交 需要根据您的操作系统,将 core.autocrlf 属性设置为 trueinput。 因此,在提交之前, CRLF 行分隔符将被替换为 LF

如果稍后您需要查看在合并过程中如何解决冲突,您可以在 Git 工具窗口的 日志 选项卡中找到所需的合并提交 Alt+9 ,在右侧的 提交详细信息 窗格中选择一个包含冲突的文件,然后点击 显示差异图标 或按 Ctrl+D。 如需了解更多信息,请参阅 查看更改如何合并

2026年 7月 14日