注册
登录
git/gitflow/gitlib
如何解决Git中的合并冲突?
返回
如何解决Git中的合并冲突?
作者:
狗头军师
发布时间:
2024-05-05 01:49:00 (2月前)
如何解决Git中的合并冲突?
收藏
举报
2 条回复
1#
回复此人
v-star*위위
|
2020-08-18 14-33
尝试: git mergetool 它将打开一个GUI,逐步引导您解决每个冲突,然后您可以选择如何合并。有时之后需要进行一些手动编辑,但通常仅此一项就足够了。这肯定比手工完成整个事情好得多。 根据@JoshGlover评论: 命令 除非您安装一个GUI,否则不一定会打开GUI。git mergetool为我跑步导致vimdiff被使用。您可以安装以下工具之一,而不是使用它:meld,opendiff, kdiff3,tkdiff,xxdiff,tortoisemerge,gvimdiff,diffuse, ecmerge,p4merge,araxis,vimdiff,emerge。 以下是vimdiff用于解决合并冲突的示例过程。基于此链接 第1步:在终端中运行以下命令 ``` git config merge.tool vimdiff git config merge.conflictstyle diff3 git config mergetool.prompt false ``` 这会将vimdiff设置为默认的合并工具。 第2步:在终端中运行以下命令 git mergetool 步骤3:您将看到以下格式的vimdiff显示 ``` ╔═══════╦══════╦════════╗ ║ ║ ║ ║ ║ LOCAL ║ BASE ║ REMOTE ║ ║ ║ ║ ║ ╠═══════╩══════╩════════╣ ║ ║ ║ MERGED ║ ║ ║ ╚═══════════════════════╝ ``` 这4个视图是 本地–这是当前分支中的文件 BASE –共同祖先,两次更改之前文件的外观 远程–将文件合并到分支中 已合并-合并结果,这就是保存在存储库中的内容 您可以使用ctrl+ 在这些视图之间导航w。您可以使用ctrl+ w后接来直接进入MERGED视图j。 有关此处和此处的 vimdiff导航的更多信息 第四步。您可以通过以下方式编辑MERGED视图 如果您想从REMOTE获得更改 `:diffg RE` 如果要从BASE获得更改 `:diffg BA` 如果您想从本地获得更改 `:diffg LO` 步骤5。保存,退出,提交和清理 :wqa 保存并退出vi `git commit -m "message"` git clean 删除由diff工具创建的多余文件(例如* .orig)。
编辑
登录
后才能参与评论