Git/GitHub---Git(rebase)命令使用

Git(rebase)命令使用

文章来自本人公众号:公众号文章--Git(rebase)命令使用

rebase的三个应用场景

第一个应用场景(合并版本)

例:1.1.1创建文件夹,以及文件,并初始化交给git管理,生成版本

  • 创建a.txt生成第一个版本(图示:例1.1)

  • 创建b.txt生成第二个版本

  • 创建c.txt生成第三个版本

  • 创建d.txt生成第四个版本

  • 图示:例1.2

例1.1

例1.2

例:1.1.2合并版本号

  • git rebase -i HEAD~3(合并命令方式一:最近的三条记录合并)

  • git reabse -i 版本号 (合并命令方式二:版本号下一条到最后一条合并)

  • 开始合并版本3到版本5,共三条(图示:例1.3)

  • 自动跳到文件进行修改(改成s的是合并到pick的中)(图示:例1.4)

  • 修改后会再次自动跳转(图示:例1.5,红框中内容可以自定义)

  • 本人自定义为v3 & v4 & v5,修改成功(图示:例1.6)

  • git log查看,图示:例1.7

例1.3

例1.4

例1.5

例1.6

例1.7

    第二个应用场景

例:2.1.1创建文件夹,以及文件,并初始化交给git管理,生成版本

  • 创建a.txt生成第一个版本(图示:例2.1)

  • 创建b.txt生成第二个版本

  • 创建c.txt生成第三个版本

  • 创建d.txt生成第四个版本

  • 图示:例2.2

例2.1

例2.2

例:2.1.2  创建分支

  • 创建分支dev(图示:例2.3)

例2.3

例:2.1.3 切换回master分支,创建两个新的版本

  • 切换分支创建版本(图示:例2.4)

例2.4

例(重点)2.1.4:使用rebase操作

  • 切换到dev分支,创建dev.txt,并提交生成版本(图示:例2.5)

  • 切换到master分支,合并dev分支(图示:例2.6)

例2.5

例2.6

rebase合并对比图:

 第三个应用场景

例:3.1.1 创建一个文件夹,模拟在公司开发了一个功能开发了50%,生成版本,但是忘记推送代码

  • 创建远程仓库(图示:例3.1)

  • 创建文件,生成版本(图示:例3.2,3.3)

  • 创建分支,创建dev.txt,生成版本(图示:例3.4)

  • 推送master,推送dev(图示:例3.5)

  • 编辑dev.txt,生成版本不推送(图示:例3.6)

例3.1

例3.2

例3.3

例3.4

例3.5

例3.6

例:3.1.2 创建一个新的文件夹,模拟在家继续开发

  • 创建文件,克隆项目,进入项目目录(图示:例3.7)

  • 进入dev分支,编辑dev.txt(图示:例3.8)

  • 生成一个版本,推送到远程仓库(图示:例3.9)

例3.7

例3.8

例3.9

例:3.1.3 回到公司继续开发

  • 拉取最新代码git fetch origin dev(图示:例3.10)

  • 执行git rebase origin/dev会产生冲突(图示:例3.11)

  • 解决冲突 (图示:例3.12,3.13)

  • 继续执行rebabse(图示:例3.14)

  • 直接推送(图示:例3.15)

例3.10

例3.11

例3.12(手动解决冲突)

例3.13(解决冲突)

例3.14

例3.15

猜你喜欢

转载自blog.csdn.net/weixin_44519467/article/details/106654975