问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

解决 Visual Studio 中的合并冲突

创作时间:
作者:
@小白创作中心

解决 Visual Studio 中的合并冲突

引用
1
来源
1.
https://learn.microsoft.com/zh-cn/visualstudio/version-control/git-resolve-conflicts?view=vs-2022

在使用Git进行版本控制时,合并冲突是一个常见的问题。本文将详细介绍如何在Visual Studio中解决这些冲突,帮助开发者更高效地完成代码合并工作。

什么是合并冲突

将一个分支合并到另一个分支时,一个分支中提交的文件更改可能会与其他分支中的更改冲突。 Git 尝试使用存储库中的历史记录来解决这些更改,以确定合并文件的外观。 如果不清楚如何合并更改,Git 将停止合并并告知哪些文件冲突。

预防合并冲突

只要文件内容在提交之间不会显著更改,Git 就善于在大多数情况下自动合并文件更改。 如果你的分支远远落后于主分支,请考虑在打开拉取请求之前对你的分支进行变基处理。 变基分支将合并到主分支中,而不会发生冲突。

解决合并冲突

如果你在与其他人协作处理同一分支,则你在推送更改时可能会遇见合并冲突。

Visual Studio 检测到你正在使用的本地分支是否位于其远程跟踪分支后面,然后提供可供选择的选项。

注意:如果远程存储库支持强制推送,则可以使用Git>设置启用它。

在此示例中,选择“拉取然后推送”以添加引入远程存储库的更改。 如果在拉取更改或尝试合并两个分支时发生合并冲突,Visual Studio 会在Git Changes窗口、Git 存储库窗口以及所有存在冲突的文件上通知你。

“Git 更改”窗口在“未合并的更改”下显示存在冲突的文件列表。 若要开始解决冲突,请双击文件。 或者,如果在编辑器中打开了冲突的文件,则可以选择打开合并编辑器

在合并编辑器中,使用以下任一方法开始解决冲突(如编号的屏幕截图所示):

  1. 逐行查看冲突,并通过选择复选框来选择保留左侧还是右侧更改。
  2. 选择“获取传入的项”按钮(或按 F10)接受所有传入更改,或选择“获取当前项”按钮(或按 F11)保留当前版本的所有冲突更改。 可以通过选择任一并排框架顶部的复选框之一来执行相同的操作。
  3. 在“结果”窗口中手动编辑代码。

提示:如果不喜欢合并编辑器中的默认布局,请使用齿轮下拉菜单随意更改它。

例如,以下屏幕截图显示了垂直视图的外观:

解决合并冲突后,选择“接受合并”。 对所有冲突文件重复此过程。

使用“Git 更改”窗口创建合并提交并解决冲突。

注意:如果要保留对文件的所有更改,可以在未合并的更改部分右键单击该文件,然后选择保持当前(本地),而无需打开合并编辑器。

提示:若要详细了解可用的辅助功能选项,请参阅 Visual Studio页面辅助功能提示和技巧部分Git 键盘快捷方式。

配置比较工具

如果将.gitconfig文件设置为使用 BeyondCompare 或 KDiff3 等第三方对比工具,Visual Studio 会遵循该设置。 每当 Visual Studio 正常显示差异时,就会在你选择的工具中打开一个单独的窗口。 有关示例,请参阅此Stack Overflow问题。

相关内容

本文原文来自微软官方文档

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号