当前位置:   article > 正文

TortoiseGit 入门指南06:解决冲突_tortoisegitmerge怎样解决冲突

tortoisegitmerge怎样解决冲突

上节讲到 拉取 (pull),说到:

拉取不仅将数据下载到你的本地版本库,还会自动合并

在合并期间,将更新工作区文件以反映合并结果。如果合并文件的同一区域被多方更改,就会产生冲突。Git 不能随机选择一方而丢弃另一方,所以会要求开发者手动解决冲突。

每当报告冲突时,都需要解决它。

在发生冲突的文件中,冲突区域有明显的标记,比如:

<<<<<<< yours
    你当前工作区的代码
=======
    合并过来的代码
>>>>>>> their
  • 1
  • 2
  • 3
  • 4
  • 5

当发生冲突后,TortoiseGit会用图标标出冲突文件,以方便的找到这些文件,如下图红框圈出部分。
在这里插入图片描述

可以使用任何编辑器手动解决冲突,也可以通过 TortoiseGit 提供的菜单解决冲突:选中冲突文件,在右键菜单中选择TortoiseGitEdit Conflicts ,启动外部合并工具/冲突编辑器手动解决冲突。

在这里插入图片描述

使用Edit Conflicts菜单后,TortoiseGit 将在所选冲突文件的目录中放置三个附加文件,并启动配置的冲突编辑器:

  • filename.ext.BASE.ext: 这是冲突文件的共同祖先版本。

  • filename.ext.LOCAL.ext:这是开始合并前工作树中存在的文件。

  • filename.ext.REMOTE.ext: 这是要合并的修订版中的文件。

手动修改冲突文件后,执行 TortoiseGitResolve… 菜单项,会将刚刚的修改冲突内容提交到存储库。务必注意,在没有手动修改冲突文件前,单纯的使用 Resolved 菜单无法真正解决冲突,它只是使用git add命令将冲突文件标记为“冲突已解决”,以允许你后续提交更改,并删除 filename.ext.LOCAL.ext、filename.ext.BASE.ext、和filename.ext.REMOTE.ext 文件。

如果二进制文件产生了冲突,Git不会尝试合并文件本身。本地文件保持不变。为了解决冲突,使用TortoiseGitResolve…菜单项,然后右击冲突文件,选择Resolved(使用本地工作区中的文件)或者选择Resolve conflict using “HEAD” (使用HEAD版本文件)或者选择Resolve conflict using “MERGE_HEAD”(使用合并版本/分支的文件) 。然后进行提交。

如果你选中父文件夹,然后选择 TortoiseGitResolve… 菜单项,则会弹出一个窗口,列出改文件夹中所有的冲突文件,这样就可以将 Resolved 命令用于多个文件。


总结一下,使用TortoiseGit工具处理冲突的步骤如下:

  1. 选中所有冲突文件的父文件夹,选择右键菜单 TortoiseGitResolve…
  2. 在弹出的窗口中会列出所有冲突的文件;
  3. 依次选中文件,选择右键菜单 Edit conflicts,将启动外部合并工具/冲突编辑器;
  4. 在编辑器中手动解决冲突;
  5. 所有冲突文件都解决后,点击 OK 按钮,在弹出的提交窗口中点击 commit 按钮;

如果你只是想用本地的版本替换远端,或者用远端的版本替换本地的,则不必打开任何编辑器,TortoiseGit 提供了更简便的方法:

  1. 选中所有冲突文件的父文件夹,选择右键菜单 TortoiseGitResolve…

  2. 在弹出的窗口中会列出所有冲突的文件;

  3. 依次选中文件,选择右键菜单 Resolve conflict using “HEAD”(使用本地版本替换远端的),或者选择 Resolve conflict using “MERGE_HEAD”(使用远端版本代替本地的)。

    右键菜单 Resolved 是使用当前工作区的版本,但是冲突发生时,当前工作区的版本是带有冲突标记的,如:

    <<<<<<< yours
     你的更改
    =======
     changes from the code merged
    >>>>>>> their
    
    • 1
    • 2
    • 3
    • 4
    • 5

    所以右键菜单 Resolved 一般用于二进制文件。

  4. 所有冲突文件都解决后,点击OK按钮。

  5. 做一次提交(commit)。









读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
千金难买知识,但可以买好多奶粉

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/386893
推荐阅读
相关标签
  

闽ICP备14008679号