2022年5月

前言

以前当我git提交信息出现错误的时候,如果是最近的一次提交,我会使用Sourcetree提交选项中的“更正上一次提交”(git --amend)来补充或修改;但如果不是最新的一次提交,事情可能就有点麻烦了,我可能会将错误提交之后的每一条提交都创建补丁,然后再重置(强行合并)到错误的提交,使用“更正上一次提交”修正后,再一条一条应用之前打好的补丁,这一套操作很繁琐,而且可能出现人为错误。
其实上面的一套操作git rebase都给我们提供了封装,简化操作,可以实现对历史提交记录的一些操作,可以实现以下操作:

  • 修改历史提交信息
  • 修改历史提交顺序
  • 合并历史提交
  • 删除历史提交
  • 修改历史提交内容,如插入提交,将一次提交划分为两次等

rebase变基分支的功能本文暂不涉及,这也是基础用法。
下面主要记录在Sourcetree中使用rebase 修改历史提交的方法

一、修改历史提交信息

目标:修改“first commit”为“first commit - changed”

右键需要修改提交的前一条提交,选择“交互式变基xxx的子提交...”,会出现以下页面

图1

双击需要修改的提交的描述,或选中需要修改的提交后点击左下角“编辑信息”,重新编辑提交信息。(也可以同时编辑多个历史提交记录)

图2
依次点击确认即可

图3

二、修改历史提交顺序

目标:交换“first commit”和“second commit”的顺序

同上面第一步,出现如图1界面
鼠标拖动提交为更正的顺序即可
依次点击保存

图4

三、合并历史提交

目标:合并“first commit” 和 “second commit”为一次提交

同上面第一步,出现如图1界面
鼠标拖动提交,使两个提交重叠,如下

图5
可修改合并后的描述,点击确定即可

图6

四、删除历史提交

目标:删除“merge first and second commit”提交

同上面第一步,出现如图1界面
选中需要删除的提交,点击下面删除按钮,点击确定即可

五、修改历史提交

目标:将“merge first and second commit”提交划分为两次提交

修改的操作相比前面要多一些。

同上面第一步,出现如图1界面

勾选需要修改的提交的“更正提交”选项

图7
点击确认,出现分离的HEAD

图8
右键HEAD的前一条提交,选择“重置到这次提交”,并进行混合合并

图9
这样需要修改的提交的内容就存在于工作区中,重新分次提交

图10
点击工具栏“动作”,选择“继续变基”

图11
完成

图12

总结

git rebase 命令很强大,但也不能过度依赖。因为它会将修改的历史提交之后的提交一并重新提交,会导致不需要修改的提交的SHA和提交日期一并被修改,可能在某些场景并不适用。

作者:jason294
链接:https://www.jianshu.com/p/9e91ed38e74a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

蛰伏了一个冬季,都没有发文章,没有发情话,没有灵感来源,孤独的一个人生活,没有了那种和别人的甜蜜。昨天看了比悲伤更悲伤的故事,可能是没有经历过痛彻心扉的爱情,所以,感觉毫无泪点,就像别人说的,这个电影就是一个想哭的人去看才想哭吧。老规矩,给大家发发小套路,给大家增加点生活中的调味剂。

・ 。

💸∴。 *

 ・゚*。💸・

  ・ ゚。  

  ・ ゚*。・゚💸。

   💸・。°*. ゚

  ゚。·・。 ゚

   ゚ *.。💸。💸 ・

   💸 。・゚.。

      💸 ゚・。

    ・  ゚💸 。

。・゚. 💸 ゚・。`

❤小龙女不能没有杨过,我没有你我会难过。
❤你会游泳么?会的话,那我们一起永浴爱河吧,不会的话,我教你啊。
❤你又犯罪了,入室抢劫是会判刑的,来我的心室偷走我的心,判刑会判一辈子的!
❤遇到问题都不要抱怨!抱我!
❤山外青山楼外楼,你不爱我我跳楼。世上美女到处有,就是没有你温柔。
❤你有闻到什么味道么?没有啊。你仔细问问,有你在的地方,空气都是甜的。
❤莫文蔚的阴天,孙燕姿的雨天,周杰伦的晴天,都不如你和我聊天
❤你眼瞎吗?撞我心口上了
❤n 55lw !n paau !”“什么意思?”“你把手机倒过来看看。”
❤“ 齾 喜 欢 你 龗 灪 龖 厵 爨 癵籱 饢 骉 鲡 麣 纞 虋 讟 钃 鸜 麷 鞻 ”
“你看,除了喜欢你,我什么都不会”

❤你喜欢什么颜色?我喜欢你的美色。如果你觉得这个答案不好,那就看 前面4个字。
❤我又胖了。太好了,我喜欢的地方又多了一圈
❤万水千山都是伏笔,只为遇到姗姗来迟的你
❤我做你的江东,你做我的盖世英雄
❤遇见你就像春天,风也是你,花也是你
❤这世上美好的事太多,美事美景音乐占一半,另一半是你
❤原谅我的贪心,我占了你的情窦初开,还想要你的白头偕老