首页 > 其他分享 >Git rebase 与 merge

Git rebase 与 merge

时间:2023-03-11 22:57:54浏览次数:38  
标签:Git dev2 rebase merge master commit 分支

合并分支

在开发过程中,会有许许多多的分支,但每一个仓库都有一个核心分支—— main 分支,用于发布稳定版本的分支。其余的分支开发完成一个功能或修复一个 BUG 之后都是要与 main 分支进行合并。

在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase

Gitee 创建仓库之初的主分支名称是 master;GitHub 的主分支名称是 main

merge

merge 之前的分支情况

如上图所示,时间线中有两个分支,masterdev1 不在同一个时间线上。现在,我要把 dev1 合并到 master 中:

git checkout master
git merge dev1

解决两个分支在同一个文件上作出不同更改的冲突,此时的时间线如下图所示:

merge 之后的分支情况

rebase

master 分支中新建一个 dev2 分支,现在的时间线如下图所示:

新建一个 dev2 分支

dev2master 也同样不处在同一个时间轴上,现在通过 rebase 来合并这两个分支:

git checkout master
git rebase dev2

解决两个分支在同一个文件上作出不同更改的冲突,此时的时间线如下图所示:

rebase master 和 dev2 分支

对比 merge 和 rebase 合并之后的图。rebase 之后,dev2 的时间线和 master 的时间线都是同一个颜色,且 dev2 的 commit 与 master 的 commit 是顺序呈现的。

与 merge 合并之后不同,merge 要多出一个 commit(图上灰色消息)基本上这一个 commit 是解决冲突的记录。

总结对比

  1. rebase 没有合并的历史 commit,让仓库的时间线看着简洁;
  2. merge 合并之后多出一个合并的历史 commit;

标签:Git,dev2,rebase,merge,master,commit,分支
From: https://www.cnblogs.com/Himmelbleu/p/17207030.html

相关文章

  • git将本地文件传到gitee中
    一,文件上传到gitee1.先在gitee中新建一个仓库获取地址:[email protected]:weixinwen/practice.git如下图2.简易的命令行入门教程:Git全局设置:gitconfig--globaluser.......
  • 笔记五:git团队协作
    一:学习内容git团队内协作git跨团队协作 二:git团队内协作用案例来说明步骤:1.师傅岳不群创建了一套华山剑法,把它推送到代码托管中心远程库2.弟子令狐冲将整套剑法下......
  • 笔记四:git分支
    一:学习内容git分支特性git分支操作-查看分支git分支操作-创建分支git分支操作-切换和修改分支git分支操作-分支合并git分支操作-代码合并冲突解决 二:git分支特......
  • 笔记三:git常用命令
    一:学习内容1、设置用户签名:gitconfig--globaluser.name用户名gitconfig--globaluser.email邮箱2、操作本地库:初始化本地库:gi......
  • 笔记二:git安装
    一:学习内容git安装步骤详解 二:git下载-基于官网发布最新版本1.git下载官方网址【如果这个慢就用2】:https://git-scm.com/download/win2.git下载镜像网址:https://n......
  • 笔记一:git简介
    一:学习内容git是什么git版本控制(重点:分布式版本控制工具VS集中式版本控制工具)git工作机制git和代码托管中心 二:git是什么git是一个免费的、开源的分布式版本控......
  • 【Git】git常用命令集合
    目录​​最常用的git命令​​​​git拉取代码​​​​git本地如何合并分支​​​​上传文件识别大小写​​​​开发分支(dev)上的代码达到上线的标准后,要合并到master分支​​......
  • Python 决定迁移到 GitHub
    Python已经决定迁移到GitHub,虽然有人公开说反对迁移到GitHub,但还是有很多人会在一定程度上使用GitHub,而且几位核心的开发者也倾向于选择GitHub。Python在很久之前为了......
  • gitcode_上传代码成功之后的一些命令
    gitcode上传代码之后的一些命令Gitglobalsetupgitconfig--globaluser.name"小怪兽"gitconfig--globaluser.email"[email protected]"Createanewreposito......
  • git 仓库迁移
    git仓库迁移场景1:git仓库无lfs仓库地址旧仓库地址http://gitee.com/original/git_repository.git目标仓库地址http://gitee.com/target/git_repository.......