Redian新闻
>
如何解决 Git 合并冲突 | Linux 中国

如何解决 Git 合并冲突 | Linux 中国

科技
 
导读:在遇到合并冲突时,请不要惊慌。通过一些娴熟的技巧协商,你可以解决任何冲突。                 
本文字数:1503,阅读时长大约:2分钟

https://linux.cn/article-15858-1.html
作者:Agil Antony
译者:ChatGPT

在遇到合并冲突时,请不要惊慌。通过一些娴熟的技巧协商,你可以解决任何冲突。

假设你和我正在共同编辑同一个名称为 index.html 的文件。我对文件进行了修改,进行了提交,并将更改推送到 Git 远程仓库。你也对同一个文件进行了修改,进行了提交,并开始将更改推送到同一个 Git 仓库。然而,Git 检测到一个冲突,因为你所做的更改与我所做的更改冲突。

以下是你可以解决冲突的方法:

1、从远程仓库获取并合并最新更改:

  1. $ git pull

2、识别一个或多个有冲突的文件:

  1. $ git status

3、使用文本编辑器打开冲突文件:

  1. $ vim index.html

4、解决冲突。冲突的修改会被标记为 <<<<<<< HEAD 和 >>>>>>>。你需要选择要保留和放弃哪些修改,并手动编辑文件以合并冲突的修改。

以下是一个示例:

  1. <<<<<<< HEAD
  2. <div class="header">
  3. <h1>Sample text 1</h1>
  4. </div>
  5. =======
  6. <div class="header">
  7. <h1>Sample text 2</h1>
  8. </div>
  9. >>>>>>> feature-branch

在这个例子中,我将网站标题更改为 Sample text 1,而你将标题更改为 Sample text 2。两种更改都已添加到文件中。现在你可以决定保留哪一个标题,或者编辑文件以合并更改。在任一情况下,删除指示更改开始和结束的标记,只留下你想要的代码:

  1. <div class="header">
  2. <h1>Sample text 2</h1>
  3. </div>

5、保存所有更改,并关闭编辑器。

6、将文件添加到暂存区:

  1. $ git add index.html

7、提交更改:

  1. $ git commit -m "Updated h1 in index.html"

此命令使用消息 Resolved merge conflict 提交更改。

8、将更改推送到远程仓库:

  1. $ git push

结论

合并冲突是将注意力集中于代码的好理由。你在文件中进行的更改越多,就越容易产生冲突。你应该进行更多的提交,每个提交更改应该更少。你应该避免进行包含多个特性增强或错误修复的单片巨大更改。你的项目经理也会感谢你,因为具有清晰意图的提交更容易追踪。在最初遇到 Git 合并冲突时可能会感到吓人,但是现在你知道如何解决它,你会发现它很容易解决。

(题图:MJ/f432c41a-eb4f-4de0-b2da-f3d8d7a86e26)


via: https://opensource.com/article/23/4/resolve-git-merge-conflicts

作者:Agil Antony 选题:lkxed 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
超越 Bash: 9 个不太知名的 Linux Shell 及其功能 | Linux 中国8 款最佳的 Linux 远程桌面工具 | Linux 中国如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM | Linux 中国10 个最佳 Linux 虚拟化软件 | Linux 中国历史小说《黄裳元吉》第七十二章 雪藏在 Linux 上用 Kdenlive 编辑视频 | Linux 中国当肿瘤患者合并糖尿病该如何解决营养不良的问题?7 个超轻量级 Linux 发行版 | Linux 中国Voyager Linux 23.04:具有华丽外观且无 Snap 的 Ubuntu 体验 | Linux 中国TUXEDO Stellaris 16(Gen5)是目前所能找到的终极 Linux 笔记本电脑 | Linux 中国如何入门 Linux Shell 脚本编写 | Linux 中国如何在 Linux 中合并 PDF 文件 | Linux 中国如何在 Linux 主机和 KVM 中的 Windows 客户机之间共享文件夹 | Linux 中国Agustín Hernández:中美洲建筑背景下的未来主义巨构如何在 Linux 系统中使用 Ventoy 创建多重引导的 U 盘 | Linux 中国曾被 Linus 点名批评的功能,现已合并到 Linux 6.4 中此一句甚妙,记存坦克大战 the war of tanksAlpine Linux 3.18 发布 | Linux 中国使用 ChatGPT AI 从英文文本生成 Linux 命令 | Linux 中国大家最喜欢的 Linux 终端字体 | Linux 中国11 个不可变 Linux 发行版,适合那些想要拥抱未来的人们 | Linux 中国zt physical limits uplift soul终端基础:在 Linux 中删除文件和文件夹 | Linux 中国退休四年纪念!我在这些音乐平台发歌了测评适用于 Linux 中 Wayland 的最佳屏幕录制软件 | Linux 中国曾被Linus点名批评的功能,现已合并到Linux 6.4中Arch Linux 的最佳 GUI 包管理器 | Linux 中国使用 Linux 让旧电脑焕发新颜 | Linux 中国Kali Linux 简介:你需要了解的一切 | Linux 中国5 个最漂亮的 Arch Linux 发行版 | Linux 中国blendOS 的目标:取代所有的 Linux 发行版 | Linux 中国Reminders:一个漂亮的开源 Linux 应用,可帮助你完成工作 | Linux 中国如何在 Ubuntu 和其他 Linux 发行版中查看 AVIF 图像 | Linux 中国risiOS:一个易于使用的基于 Fedora 的 Linux 发行版 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。