如何解决 Git 存储库中的合并冲突?

如何解决如何解决 Git 存储库中的合并冲突??

开发过程中遇到如何解决 Git 存储库中的合并冲突?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何解决 Git 存储库中的合并冲突?的解决方法建议,希望对你解决如何解决 Git 存储库中的合并冲突?有所启发或帮助;

问题描述

尝试: git mergetool

它会打开一个 GUI,引导您解决每个冲突,您可以选择如何合并。有时它需要在之后进行一些手动编辑,但通常它本身就足够了。这肯定比手工完成整个事情要好得多。

命令

除非您安装 GUI,否则不一定会打开 GUI。git mergetool为我奔跑导致vimdiff被利用。您可以安装以下工具之一来使用它:meld, opendiff, kdiff3, tkdiff, xxdiff, tortoisemerge, gvimdiff, diffuse, ecmerge, p4merge, araxis, vimdiff, emerge.

下面是vimdiff用于解决合并冲突的示例过程。基于此链接

:在终端中运行以下命令

git config merge.tool vimdiff
git config merge.conflictstyle diff3
git config mergetool.prompt false

这会将 vimdiff 设置为认合并工具。

:在终端中运行以下命令

git mergetool

:您将看到以下格式的 vimdiff 显示

  ╔═══════╦══════╦════════╗
  ║       ║      ║        ║
  ║ LOCAL ║ BASE ║ REMOTE ║
  ║       ║      ║        ║
  ╠═══════╩══════╩════════╣
  ║                       ║
  ║        MERGED         ║
  ║                       ║
  ╚═══════════════════════╝

这 4 个视图是

LOCAL – 这是来自当前分支的文件

BASE – 共同祖先,文件在两次更改之前的外观

远程 - 您要合并到分支中的文件

MERGED – 合并结果,这是保存在 repo 中的内容

您可以使用ctrl+在这些视图之间导航w。您可以使用ctrl+w后跟j.

。您可以通过以下方式编辑 MERGED 视图

如果您想从 REMOTE 获取更改

:diffg RE

如果您想从 BASE 获取更改

:diffg BA

如果您想从 LOCAL 获取更改

:diffg LO

。保存、退出、提交和清理

:wqa 保存并退出 vi

git commit -m "message"

git clean 删除由 diff 工具创建的额外文件(例如 *.orig)。

解决方法

我想解决我的Git存储库中的合并冲突。

我怎样才能做到这一点?

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

猜你在找的编程问答相关文章

怎样才能让 Git“忘记”一个被跟踪但现在在 .gitignore 中的文件?
Python 中的metaclasses是什么?
如何在 Linux 上查找包含特定文本的所有文件?
如何从异步调用返回响应
如何在一个表达式中合并两个字典(取字典的并集)?
HTTP 中的 POST 和 PUT 有什么区别?
使用 Git 将最近的提交移动到新分支
在 JavaScript 比较中应该使用哪个等于运算符 (== vs ===)?
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注