| 会员登录 立即注册

打印 上一主题 下一主题

软件开发 | 如何解决 Git 合并冲突

[复制链接]
跳转到指定楼层
楼主
3AAA 发表于 2023-6-1 10:55:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
楼主
3AAA
2023-6-1 10:55:39 4503 0 看楼主


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

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

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

1、从远程仓库获取并合并最新更改:
$ git pull
2、识别一个或多个有冲突的文件:
$ git status
3、使用文本编辑器打开冲突文件:
$ vim index.html
4、解决冲突。冲突的修改会被标记为  和 >>>>>>>。你需要选择要保留和放弃哪些修改,并手动编辑文件以合并冲突的修改。

以下是一个示例:

Sample text 1

=======

Sample text 2

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


Sample text 2


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

6、将文件添加到暂存区:
$ git add index.html
7、提交更改:
$ git commit -m "Updated h1 in index.html"
此命令使用消息 Resolved merge conflict提交更改。

8、将更改推送到远程仓库:
$ 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中国荣誉推出
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

3AAA 当前离线
白银会员

查看:4503 | 回复:0

关于我们  |   侵权投诉受理  |   联系我们  |   Archiver  |  
免责声明:邳州信息网所有言论只代表发表者个人观点,与本站无关
Copyright © 2009-2025 pzxxw.com 版权所有:邳州金银杏文化传媒有限公司  

苏公网安备 32038202000401号

快速回复 返回顶部 返回列表