比如我们又一个历史提交A->B->C->D, 当前HEAD在D commit上,我们想要修改B,C commits,该怎么做呢?

我们知道用git commit --amend可以修改当前的提交D,但是之前的怎么办呢?

首先我们要修改的起点开始于最近的三次提交,告诉git:

1 git rebase -i HEAD~3

然后git会告诉你现在的status:

pick a1 message of a1

pick a2 message of a2

pick a3 message of a3

# Rebase a10d0f8..b5f4d0d onto a10d0f8

# p, pick <commit> = use commit

# r, reword <commit> = use commit, but edit the commit message

# e, edit <commit> = use commit, but stop for amending

# s, squash <commit> = use commit, but meld into previous commit

# f, fixup <commit> = like "squash", but discard this commit's log message

# x, exec <command> = run command (the rest of the line) using shell

# b, break = stop here (continue rebase later with 'git rebase --continue')

# d, drop <commit> = remove commit

# l, label <label> = label current HEAD with a name

# t, reset <label> = reset HEAD to a label

# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]

# . create a merge commit using the original merge commit's

# . message (or the oneline, if no original merge commit was

# . specified). Use -c <commit> to reword the commit message.

2 上边列出了你想要修改的命令, 比如我们只想修改最近三次的提交message:

reword a1 message of a1

reword a2 message of a2

pick a3 message of a3

3 然后退出并保存。

4 然后Git就会从commit B开始让你进行修改。然后按照正常的流程修改完毕就行。

5 最后可以git log看一下历史commit是否跟你的预期相符,好了,搞定了。

原文:http://blog.csdn.net/hongchangfirst/article/details/111056451

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst

三分钟教你学Git(二十七) - 修改多个commit相关推荐

  1. python语言表白超炫图形_经验分享 篇二:三分钟教你用Excel制作各种尺寸、底色的证件照...

    经验分享 篇二:三分钟教你用Excel制作各种尺寸.底色的证件照 2018-12-29 07:00:00 654点赞 7174收藏 245评论 一.前言 继上一篇用PPT制作了证件照以后 有的值友反应 ...

  2. 三分钟教你快速选择机器视觉传感器

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|新机器视觉 六招教您合理选择机器视觉传感器 传感器是一种 ...

  3. C#三分钟教你理解DataTable、Datarow、DataColumn的关系以及用法

    C#三分钟教你理解DataTable.Datarow.DataColumn的关系以及用法! 码字不易,点赞关注加收藏,谢谢各位看官老爷了!!!!. 码字不易,点赞关注加收藏,谢谢各位看官老爷了!!!! ...

  4. tree老师:每天五分钟教你学linux基础命令02

    tree老师:每天五分钟教你学linux基础命令02 ls ls命令用于列出文件和目录.默认上,他会列出当前目录的内容.带上参数后,我们可以用ls做更多的事情.  比如,当我们刚刚改了文件,却不记得是 ...

  5. 教妹学Java(二十一):一文带你了解面向对象编程的所有概念

    你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 的博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个 ...

  6. 教妹学Java(二十二):来吧,一文彻底搞懂Java命名约定

    你好呀,我是沉默王二,是<Web 全栈开发进阶之路>的作者,CSDN 博客之星.<教妹学 Java>是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个知 ...

  7. 教妹学Java(二十):一文带你彻底了解 Java 中的注释,干货了

    你好呀,我是沉默王二,一枚颜值与才华俱在的程序员.本篇教程通过我和三妹对话的形式来谈一谈"Java 中的注释". 教妹学 Java,没见过这么有趣的标题吧?"语不惊人死不 ...

  8. 元件怎么反转_电气图纸怎么看?三分钟教你学会看懂,受用一生

    图纸一般用于设计方面,设计师绘制出图纸,我们再根据图纸进行操作,尤其是电气图纸,上面有很多符号,很难看懂,下面通过三分钟教你学会看懂电气图纸. 一.什么是电气图 用电气图形符号.带注释的围框或简化外形 ...

  9. 真假屏幕测试软件,别再担心电视屏幕问题了!三分钟教你在家自己检测

    原标题:别再担心电视屏幕问题了!三分钟教你在家自己检测 在很多用户的概念中,买电视最重要的就是要看电视屏幕好不好,一般来说,屏幕越好,那么电视所表现出来的画质也会更出色.然而在选购了新的电视机后,我们 ...

最新文章

  1. 最小费用最大流 ---- 2017icpc青岛现场赛 K Our Journey of Xian Ends (拆点控制原图点度 + 中间必经过的点设置成源点 + 起点设成汇点)
  2. 负margin的移位参考线
  3. Python 日期格式相关
  4. No1_6.字符串的基本操作2_Java学习笔记
  5. combobox控件 如何把三角形放大_初中数学|全等三角形全部知识点总结
  6. 在ubuntu 16.04中安装source insight 4.0破解版
  7. Excel画饼图(立体的哦)
  8. Python 算法交易实验41 GMM简单估计
  9. 计算机自杀式软件--USBKill
  10. ADODB.Recordset 错误 #x27;800a0bb9#x27; 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
  11. 美通企业日报 | Gap在华门店总数突破200家;千禧一代环游世界的愿望超过买房...
  12. 常用的sql语句,sql使用大全
  13. 百度地图API 自定义标注图标
  14. 每天五分钟机器学习:随着算法迭代次数动态调整学习率
  15. ODB 入门介绍(二)
  16. 安全标准ISO7498-2(Security Architecture)名词定义
  17. 个性化学习推荐系统的设计与实现
  18. MDS3400调度指挥系统
  19. (三)JNI常用示例
  20. C++ 标准模板库(STL)——适配器(Adaptor)

热门文章

  1. seq2seq + attention
  2. 为什么刻盘显示计算机内存不够,dvd刻录机在刻录时显示内存不足需终结cd怎么办...
  3. JAVA设计一个fan类_北京信息科技大学java语言程序设计-类和对象
  4. Android URL Scheme的学习和使用
  5. IOS开发(27)之UITableView的Cell显示长按快捷菜单
  6. 更新后的Hbuilder X 报错 error: cannot find module ‘open‘
  7. 解析java多态经典习题
  8. Java 根据开始日期和结束日期,获取日期之间的工作日,去除了周末和法定节假日
  9. odex to dex boot.oat
  10. 八年phper的高级工程师面试之路八年phper的高级工程师面试之路