# Day26--要移花接木就是要rebase~

来聊聊rebase

rebase本身就是两个字组成,「re+base」

实际在做的时候,我们大概可以说re就是重新的意思,base就是分支的参考基准。

更仔细的说「base」:你这个分支是从哪里生出来的。

「重新定义分支的参考基准」就是rebase的实际意义,换句话说,就是「嫁接」,如果玩过水果(额....我是说种水果

应该就会知道嫁接就是把某个枝子接在不同的枝子上。

rebase小实作

假如我现在人在cat这个分支上,我还有另外两个支,一个是master主分支、一个是dog分支

git rebase dog

这个指令的意义基本上就是这样:

「我是cat分支,我现在要重新定义我的参考基准为,使用dog来当我的参考基准」

总之,就像是....嫁接?

把cat分支长到一半的东西接到dog上面

谁rebase谁有差,就跟名义上PRO直接把ROC接过来一样

取消rebase:用Reflog回溯+git reset

先回去看纪录

git log --oneline

翻一下Reflog

git reflog

这个时候我上面使用rebase的纪录38f1386就被找到了

接着就可以从一些内容里找到什麽时候rebase的,然後我们就针对那个rebase的commit纪录,输入指令:

git reset --hard

然後如果要让它回来,就输入上面的代码,就会让原本rebase的东西回到原样了!

使用ORIG_HEAD取消纪录

这次用不同的分支:

git rebase new_Francis

完成嫁接之後,在输入下面的指令:

git reset ORIG_HEAD --hard

ORIG_HEAD这个东东很特别,它会纪录一些危险操作,比如merge、rebase,因为通常做这些会让纪录的历史改变,所以输入它,就可以不用担心回不去啦XD

这样做完,该取消的纪录就取消了!

tags: 铁人赛

<<:  Day 26: 人工智慧在音乐领域的应用 (AI作曲 - 生成对抗网路 Gan (干) )

>>:  【Day26】其他开源资源篇-odoo重要开源资源

Day18|【Git】存在 .git 目录里的东西 - Commit 与 Tag(下)

在上一篇章节介绍过 Blob 物件与 Tree 物件後,接下来让我们认识 Commit 与 Tag ...

时间是最珍贵的资源,不能管理时间,便什麽也无法管理

时间是最珍贵的资源,不能管理时间,便什麽也无法管理 Time is the scarcest res...

Day26-介接 API(番外篇 I)NLP 自然语言处理之初见 Dialogflow ES

大家好~ 今天内容都不会写到程序喔~ 市面上还有许多自然语言处理的服务, 不过今天先来简单认识一下 ...

[DAY7]制作容器(六)

改成ubuntu的image docker run -it --name cont3-cakephp...

待更新

待更新待更新待更新待更新待更新待更新待更新待更新待更新待更新待更新待更新待更新待更新待更新待更新待更...