一文搞懂git merge和git rebase异同

举报
海风极客 发表于 2022/10/16 22:06:16 2022/10/16
【摘要】 1 新建git目录并初始化 1.1 新建目录和文件index.html内容<html> <p>This is P1 ...</p> <p>This is P2 ...</p></html> 1.2 使用git进行初始化并查看状态 2 前期准备 2.1 master分支上提交文件 2.2 创建user1分支 2.3 在user1分支上作修改并提交修改内容:index.html<html>...

1 新建git目录并初始化

1.1 新建目录和文件在这里插入图片描述

index.html内容

<html>
  <p>This is P1 ...</p>
  <p>This is P2 ...</p>
</html>

1.2 使用git进行初始化并查看状态

在这里插入图片描述

2 前期准备

2.1 master分支上提交文件

在这里插入图片描述

2.2 创建user1分支

在这里插入图片描述

2.3 在user1分支上作修改并提交

修改内容:index.html

<html>
  <p>This is P1 ...</p>
  <p>This is P2 ...</p>
  <p>This is P3 ...</p>
</html>

在这里插入图片描述

2.4 分别在master分支和user1分支上查看文件内容

user1分支:
在这里插入图片描述
master分支:
在这里插入图片描述

2.5 查看提交日志

在这里插入图片描述

3 使用git merge合并分支内容

将user1分支合并到master分支
在这里插入图片描述
查看状态
在这里插入图片描述

4 修改master分支并提交

<html>
  <p>This is P1 ...</p>
  <p>This is P2 ...</p>
  <p>This is P3 ...</p>
  <p>This is P4 ...</p>
</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hhivV3cf-1634872571096)(git merge和git rebase.assets/image-20211019150551177.png)]

5 使用git rebase合并分支

在这里插入图片描述

6 重点来啦:git rebase和git merge有啥不一样?

6.1 首先看下提交后的日志情况

6.1.1 git merge

在这里插入图片描述

6.1.2 git rebase

在这里插入图片描述

6.2 分析

现在我们可以看一下用git merge和用git rebase所产生的历史的区别:
在这里插入图片描述

7 总结

  1. 可以看出merge结果能够体现出时间线,但是rebase会打乱时间线。
  2. 而rebase看起来简洁,但是merge看起来不太简洁。
  3. 最终结果是都把代码合起来了,所以具体怎么使用这两个命令看项目需要。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。