Git --- Branch Diverged

Branch Diverged是如何形成的

  • 尝试提交并将更改推送到 master 分支时,是否看到这条烦人的消息
    在这里插入图片描述

原因是:
在这里插入图片描述

  • 直到更改 B 之前,我的分支和“origin/master”完全相同。从更改 B 开始,我的分支和“origin/master”开始出现分歧。我的分支从更改 E、F 和 G 开始,而“origin/master”则遵循更改 C 和 D,这完全解释了消息“您的分支和“origin/master”已出现分歧,分别有 3 个和 2 个不同的提交。”这里,3 代表 E、F 和 G,而 2 代表 C 和 D
  • 注意:这种情况通常会在您尝试将更改合并到“origin/master”时发生,而您团队中的其他人在您与“origin/master”同步之后、合并更改之前推送了一些其他更改

如何解决

Rebase

git rebase origin/master

在这里插入图片描述

  • 您的分支曾经基于更改 B,现在基于更改 D。现在,您应该可以毫无问题地将代码从分支合并到“origin/master”。
  • 优点:更清晰/线性的 git 历史记录,可帮助人们更快、更轻松地找到导致回归的原因(如果有的话)。
  • 缺点:如果操作错误,合并冲突可能会变得更加频繁,并且可能会丢失提交历史记录。

Merge

git merge origin/master

在这里插入图片描述

  • 如您所见,尽管您的分支和“origin/master”已经分开,但最终还是合并在一起了。
  • 优点:解决冲突更简单、更快捷。
  • 缺点:非线性 git 历史记录。
  • 我个人更喜欢 rebase,因为它提供了更线性的 git 历史记录,这在将来需要查看 git 历史记录时非常有用。但是,在 rebase 时解决冲突可能会很麻烦。

相关推荐

  1. <span style='color:red;'>Git</span>

    Git

    2024-07-22 18:58:01      44 阅读
  2. Git

    2024-07-22 18:58:01       28 阅读
  3. 【<span style='color:red;'>Git</span>】

    Git

    2024-07-22 18:58:01      20 阅读
  4. git github gitee 三者关系

    2024-07-22 18:58:01       20 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 18:58:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 18:58:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 18:58:01       45 阅读
  4. Python语言-面向对象

    2024-07-22 18:58:01       55 阅读

热门阅读

  1. DP学习——中介者模式

    2024-07-22 18:58:01       16 阅读
  2. 交换机(Switches)和桥(Bridges)的区别

    2024-07-22 18:58:01       15 阅读
  3. 测试面试宝典(二十一)—— get和post的区别

    2024-07-22 18:58:01       14 阅读
  4. ESP8266AT指令查看有哪些指令可用(3)

    2024-07-22 18:58:01       13 阅读
  5. Oracle(15)什么是索引(Index)?

    2024-07-22 18:58:01       14 阅读