美文网首页
Git实用指南第三篇

Git实用指南第三篇

作者: 大大纸飞机 | 来源:发表于2020-03-25 22:25 被阅读0次

本篇提要:Rebase

第三天:Rebase的传说

路人丙是个有探索精神的人,虽然昨天通过分支+cherry-pick成功解决了问题,但他总觉得有些怪异,哪里怪异又具体说不上来。哦,大概是这样的问题,既然要摘取竹节再安在上边,我能不能直接在我的竹子上操作,而不是在副本操作呢?就像这样:

最上面两节是我新做的竹子,等我要合并时发现了飞机酱的竹节,我就先把这两节取下来,把飞机酱的安上去,最后再把取下来的安回去:

如此一来,不就不需要副本了吗。但问题是,怎么才能达到这个目的呢?路人丙想起来曾经和飞机酱聊过Rebase的传说。传闻Rebase神通广大,有神鬼莫测之术,但如果使用它的人实力不够强大,会因为无法完全控制产生灾难性的后果,最后不得不删库跑路。

越是如此,路人丙对它的兴趣越大,赶紧查了资料,不禁看得入迷,越发无法控制(不好,难道这玩意还能摄人心智?)。不得不说,Rebase的确强大,拿来做这件事绰绰有余啊。今天飞机酱请假了,刚好可以自由发挥,等他回来好好炫耀一波。

也许是兴奋吧,今天路人丙超常发挥,做了三节竹子!但是要尝试新方法,非得飞机酱配合不可,没有他的工作记录我和谁rebase呀。哎,谁让我人好呢,这最后一节竹子就送给你吧,希望你以后能念我的好。路人丙先是把第三节竹节安在了飞机酱的竹子上,并在他的电脑里做好了记录(当然先pull下昨天的工作)。

先加暂存区,再到版本库,然后同步到公共电脑一气呵成。做完这一切赶紧在自己的电脑上试验,这一次他并没有直接pull,而是在后边追加了 --rebase:

git pull --rebase
image.png

然而奇迹并没有发生,原来路人丙太兴奋了,送竹节的记录连文件名都没改,直接全套交给飞机酱了。不过merge时出现冲突,好像没有这么长的提示呀(rebase果然不是那么好降服的),原来rebase解决完冲突是 git add + git rebase --continue ,而不是像merge时 git add + git commit -m了。然后路人丙按照提示,去解决冲突:

看起来和merge没什么区别,但是怎么只有我的一条记录呢,我的第二节竹子去哪了?(心中默念,rebase这么强大,肯定不会有问题的)先解决一下再说吧:

// 先解决冲突,然后add
git add .
git rebase --continue

原来如此,rebase时是一条一条commit进行了,第一条有了冲突,所以需要解决,解决好之后发现第二条没有冲突,就直接合好了。推到远端看看记录:

简直完美,以后再也不需要先在副本上干,再挪回来了。得此技能,我应该已经甩飞机酱十八条街了。不过这里有个小小的瑕疵,让我们快退回去rebase之前的状态:

这是路人丙当时的工作记录,把目光盯紧在那串commitId上,让我们再rebase一次,仔细看commitId的变化:

也就是不管有没有冲突,commitId都变了。就像cherry-pick一样,虽然工作记录看起来整洁,但是真实的操作记录都丢失了。看来万事万物没有完美的,就算强如rebase,也有其做不到的事情呀。

前情回顾

Git实用指南第二篇


我是飞机酱,如果您喜欢我的文章,可以关注我~

编程之路,道阻且长。唯,路漫漫其修远兮,吾将上下而求索。

相关文章

  • Git实用指南第三篇

    本篇提要:Rebase 第三天:Rebase的传说 路人丙是个有探索精神的人,虽然昨天通过分支+cherry-pi...

  • 2.git进阶篇总结

    阅读 Git 原理详解及实用指南 记录 进阶 1 - HEAD、master 与 branch: 介绍了 Git ...

  • Git手册

    给自己看的GIT指南 给前看后忘不用就忘的自己写的指南。不求完备,但求清晰实用。 基础操作 git init [p...

  • Git 实用指南

    一、精简入门 1、克隆仓库 克隆仓库会下载仓库完整的文件、分支和历史记录。 2、将文件变更记录写入到本地的索引库 ...

  • 1.git上手篇总结

    阅读 Git 原理详解及实用指南 记录 上手 1: Git 的最基本的工作模型 从 GitHub 把中央仓库 cl...

  • 4.几个「不难但却很有用」的 Git 技能点

    阅读 Git 原理详解及实用指南 记录 tag:不可移动的 branch tag 是一个和 branch 非常相似...

  • 3.git高级篇总结

    阅读 Git 原理详解及实用指南 记录 高级 1:不喜欢merge的分叉,用rebase吧 介绍的是 rebase...

  • Git实用命令指南

    1. 团队工作基本模型 建立初始远程仓库->各人拉取远程仓库到本地->建立自己的开发分支->开发完成后push新的...

  • Git工作流指南

    今天看了一下翻译的git工作流指南,简单总结一下。 Git工作流指南Git工作流指南:集中式工作流Git工作流指南...

  • Git高级用法

    本文系作者扔物线之Git 原理详解及实用指南阅读笔记 一、rebase在新位置重新提交(merge后commit历...

网友评论

      本文标题:Git实用指南第三篇

      本文链接:https://www.haomeiwen.com/subject/rlgooctx.html