首页 > 其他分享 >如何解决Git仓库中的合并冲突?

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

时间:2023-10-10 20:44:06浏览次数:44  
标签:git 仓库 合并 视图 Git 冲突 vimdiff MERGED

内容来自 DOC https://q.houxu6.top/?s=如何解决Git仓库中的合并冲突?

如何解决我的Git仓库中的合并冲突?


试试:

git mergetool

它会打开一个GUI,逐步引导你解决每个冲突,并让你选择如何合并。有时候需要手动编辑一下,但通常它自己就够了。当然,它肯定比手工操作要好得多。


根据Josh Glover的评论:

这个命令不一定会自动打开一个GUI,除非你安装了某个工具。在我的情况下,运行git mergetool后使用了vimdiff。你可以安装以下工具之一来使用它:meldopendiffkdiff3tkdiffxxdifftortoisemergegvimdiffdiffuseecmergep4mergearaxisvimdiffemerge


下面是一个使用vimdiff解决合并冲突的示例程序,基于这个链接。

  1. 在终端中运行以下命令
git config merge.tool vimdiff
git config merge.conflictstyle diff3
git config mergetool.prompt false

这将把vimdiff设置为默认的合并工具。
2. 在终端中运行以下命令

git mergetool

  1. 你会看到一个以下列格式显示的vimdiff
  ╔═══════╦══════╦════════╗
  ║       ║      ║        ║
  ║ LOCAL ║ BASE ║ REMOTE ║
  ║       ║      ║        ║
  ╠═══════╩══════╩════════╣
  ║                       ║
  ║        MERGED         ║
  ║                       ║
  ╚═══════════════════════╝

这些视图是:

  • LOCAL: 这是来自当前分支的文件
  • BASE: 共同祖先,这个文件在两个更改之前看起来是什么样子的
  • REMOTE: 你正在将其合并到你的分支中的文件
  • MERGED: 合并结果;这是保存在合并提交中并在将来使用的。

你可以使用ctrl+w在这些视图之间导航。你可以直接通过按ctrl+w,然后按j键来访问MERGED视图。

有关vimdiff导航的更多信息,请参阅这里和这里。
4. 你可以像这样编辑MERGED视图:

  • 如果你想获取来自REMOTE的更改

    • :diffg RE
  • 如果你想获取来自BASE的更改

    • :diffg BA
  • 如果你想获取来自LOCAL的更改

    • :diffg LO
  1. 保存、退出、提交和清理

:wqa保存并退出vi编辑器

git commit -m "message"

git clean删除额外的文件(例如*.orig)。 警告: 它将所有未跟踪的文件都删除,如果你不传递任何参数的话。

标签:git,仓库,合并,视图,Git,冲突,vimdiff,MERGED
From: https://www.cnblogs.com/xiaomandujia/p/17755682.html

相关文章

  • Git的安装与使用
    Git的安装与使用Git是一个免费开源的分布式版本控制系统,系统设计的目的是快速和高效地处理从小型到大型项目的所有内容下载官方下载网址:https://git-scm.com/downloads阿里云镜像站下载网址:https://registry.npmmirror.com/binary.html?path=git-for-windows/Standalone......
  • 私服maven仓库,无法获取到快照版本的jar包 问题处理
    场景1.确认目标包存在与私服仓库中。2.切maven的settings.xml设置无问题,仓库地址,以及快照属性,都是打开的。 解决方式: 在项目pom文件中,重新指定仓库地址以及启用snapshots属性。 <repositories><repository><!--ID必填--><id>......
  • git上传至公共或私有github
    1.下载gitbash参考链接:https://git-scm.com/download2.创建git的秘钥gitconfig--globaluser.name"githubname"gitconfig--globaluser.email"githubemail"ssh-keygen-trsa-C"githubemail"其中:githubname是你的名称,githubemail是你的邮箱3.添加de......
  • Git Bash 版本回滚
    步骤:GitBash内1.cd到自己电脑的存储库2.查看历史版本gitlog 3.将下面指令中的<commit-hash>替换为要回滚版本的哈希值(步骤2中的黄色字体)gitreset--hard<commit-hash>gitpushorigin--force ......
  • Git-添加SSH秘钥后还是git clone 失败
    可能是Git版本过高,需要降低Git版本。本来Git版本为2.41,降低为2.33,gitclone就可以了......
  • linux 下保存 git 用户名密码
    1.linuxgit保存用户名密码参考地址:https://stackoverflow.com/questions/35942754/how-can-i-save-username-and-password-in-gitgitconfig--globalcredential.helperstore......
  • git分支管理
    #MASSCMS代码Git分支管理规范>MASSCMS代码Git分支管理规范##一、分支与角色说明Git分支类型 master分支(主分支)稳定版本 develop分支(开发分支)最新版本 release分支(发布分支)发布新版本 hotfix分支(热修复分支)修复线上Bug feature分支(特性......
  • 一个项目下有两个模块,被git识别为两个项目,需要分别推送不同仓库
    用IDEA创建git仓库写代码时,在新建SpringBoot模块后出现如下情况 解决方法:找到项目目录,在对应模块的隐藏文件夹中找到.git文件并删除删除后重新使用IDEA打开项目文件,IDEA会提示 点击配置后将目录映射中的serve移除该情况解决参考解决方案:https://blog.......
  • typora配置gitee图床
    PicGo图床管理插件直接下载安装在PicGo管理插件中,插件设置,安装Gitee-Uploader插件,配置Gitee参数repo:songxia2022/typoraimgstoken:ad4536686e724190f5edfe3254c1cffbTypora配置文件,偏好设置......
  • 查漏补缺,这些热门开源项目你都知道么?「GitHub 热点速览」
    查漏补缺,这些热门开源项目你都知道么?「GitHub热点速览」 本期热点速览的周榜部分的项目,基本上每周都会在GitHubTrending见到它们的身影,因为它们实在太火了。一般来说,这些火爆的项目大家都耳熟能详,但是为了防止有些小伙伴不怎么逛GitHub,以及并没有翻阅之前的月刊或者是......