TortoiseGit解决冲突

TortoiseGit解决冲突

问题概述

在项目实施过程中,多人维护同一份文件或代码时经常会在本地Commit完再从远程仓库Pull时出现冲突。这时需要保留自己的内容,同时也保留远程仓库原来的数据信息。

场景重现

新建test仓库,仓库中新建文本文档,在其中输入内容123。
test仓库
远程仓库内容

在PC上两个不同的地方分别克隆test仓库,以此来模拟两个不同的维护人员。
user1
user2
接下来模拟冲突产生过程:

  1. 在test1文件夹中的文档中新增内容“1111111”,右击->Commit,之后右击->TortoiseGit->Push
  2. 在test2文件夹中的文档中新增内容“2222222”,右击->Commit,之后右击->TortoiseGit->Pull
  3. 结果显示出现冲突。

产生冲突
当远程仓库和本地仓库的同一份文件的相同行内容出现差异时,Git会提示出现冲突。

在实际项目实施过程中比较常见的情况是:

  1. 你对已有的代码进行了改动,会造成冲突(应该以你修改的为准)
  2. 别的同事推送的代码.和你添加的代码的位置冲突了(都要保留)

解决冲突

解决冲突过程:
打开冲突项目所在位置,右击->TortoiseGit->Reslove,界面会显示冲突文件。
Reslove
点击OK系统会自动合并冲突,并附加解决冲突细则。
下图即为合并后的文件内容,红框中的为提示信息,即远程仓库新增的和本地仓库原有的内容。
解决冲突
也可以双击冲突文件,打开解决冲突的窗口:
解决冲突
左边文件为:远程仓库的文件,右边为本地文件,下边的文件是你合并操作后的文件,所以你要对比左右文件的差异。
右击会展示解决冲突的不同方案,分别为:

  1. Use text block from left:使用左边(远程库)的代码
  2. Use text block from right:使用右边(本地)的代码
  3. Use text block from right before left:
    远程库和本地文件的代码都保留,且本地库的代码放在上面,远程库的代码放在下面
  4. Use text block from left before right:
    远程库和本地文件的代码都保留,且本地库的代码放在下面,远程库的代码放在上面

最后,点击Mark as resolvedSave按钮即可(如果冲突比较多,就点击Next difference一个个排查解决冲突即可)
解决冲突
最后,再将合并后的代码push到远程仓库

  • 12
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关于TortoiseGit TortoiseGit是Git的Windows Shell界面,基于TortoiseSVN。它是开源的,可以使用免费的软件完全构建。 由于它不是Visual Studio,Eclipse或其他特定IDE的集成,因此您可以将它与您喜欢的任何开发工具以及任何类型的文件一起使用。与TortoiseGit的主要交互将使用Windows资源管理器的上下文菜单。 TortoiseGit通过常规任务为您提供支持,例如提交,显示日志,区分两个版本,创建分支和标签,创建补丁等(请参阅我们的屏幕截图或文档)。 它是根据GPL开发的。这意味着任何人都可以完全免费使用,包括在商业环境中,没有任何限制。源代码也是免费提供的,因此您甚至可以根据需要开发自己的版本。 TortoiseGit的特点 使用方便 所有命令都可以直接从Windows资源管理器中获得(参见屏幕截图)。 仅显示对所选文件/文件夹有意义的命令。您将看不到任何在您的情况下无法使用的命令。 直接在Windows资源管理器中查看文件的状态(参见屏幕截图) 描述性对话,由于用户反馈不断改进 允许通过在Windows资源管理器中右键拖动文件来移动文件 强大的提交对话框(见截图) 集成的日志消息拼写检查程序 自动完成修改文件的路径和关键字 使用特殊字符格式化文本 每个项目设置 最小日志消息长度,以避免意外提交空日志消息 用于拼写检查的语言 与问题跟踪系统集成 TortoiseGit提供了一种灵活的机制来集成任何基于Web的错误跟踪系统。 一个单独的输入框,用于输入分配给提交的问题编号,或直接在日志消息本身中着色问题编号 显示所有日志消息时,会添加一个带有问题编号的额外列。您可以立即查看提交所属的问题。 问题编号转换为链接,可直接在相应问题上打开Web浏览器 如果未将提交分配给问题编号,则为可选警告 有用的工具 TortoiseGitMerge(见截图和TortoiseGitMerge手册) 显示您对文件所做的更改 有助于解决冲突 可以应用从用户那里获得的补丁文件而无需对存储库的提交访问权限 TortoiseGitBlame:显示归咎于文件。还显示文件中每行的日志消息。(见截图) TortoiseGitIDiff:查看您对图像文件所做的更改(参见屏幕截图) 有多种语言版本 TortoiseGit很稳定 在每次发布之前,我们都会为“冒险”人员创建一个或多个预览版本,以便首先进行测试。这有助于很早发现错误,因此它们甚至无法进入正式版本。 每个TortoiseGit版本都包含一个自定义崩溃报告工具,它可以帮助我们更快地修复错误,即使您无法准确记住触发它的操作。
TortoiseGit 是一个基于 Windows 系统的 Git 客户端软件,用于在本地管理 Git 仓库。在使用 TortoiseGit 进行分支合并时,有时会出现分支合并冲突,需要解决。 分支合并冲突是指在合并分支时,Git 无法自动合并两个分支的更改,需要手动解决冲突解决冲突的过程如下: 首先,通过右键点击项目文件夹,选择 TortoiseGit -> Switch/Checkout 进入到所需的合并分支。 然后,右键点击需要合并的分支,选择 TortoiseGit -> Merge 进行分支合并。如果存在冲突TortoiseGit 会提示合并失败,并生成一个包含冲突的文件。 接下来,双击打开包含冲突的文件,在文件中会显示具体的冲突内容。冲突的部分会被包裹在类似 <<<<<<< HEAD,=======,>>>>>>> feature_branch 的标记中,其中 HEAD 表示当前分支,feature_branch 表示要合并的分支。 在解决冲突时,需要根据自己的需求对冲突内容进行修改。可以选择保留某个分支的修改,或者手动编写新的代码。修改完成后,保存文件。 最后,右键点击文件,在弹出的菜单中选择 TortoiseGit -> Resolve 进行冲突解决TortoiseGit 会弹出解决冲突的确认对话框,点击 OK 完成解决冲突过程。 解决完所有冲突后,可以继续进行其他操作,如提交合并后的代码或者继续合并其他分支。 总之,TortoiseGit 是一个易于使用的 Git 客户端,可用于实现分支的合并操作。当出现分支合并冲突时,可以按照上述步骤解决冲突,保证代码的统一和正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值