合并多个commit记录

假设我们当前有三个commit信息,现在要将commit hash为 23f92c 和 409978 合并

//git rebase -i HEAD~3

那么我们可以使用 rebase命令,输入如下命令:

git rebase -i 897bb5

897bb5 是first commit 的 hash值,之后出现如下,上部分为commit信息,下部分为注释

有七个命令可供选择:

  • pick:正常选中
  • reword:选中,并且修改提交信息;
  • edit:选中,rebase时会暂停,允许你修改这个commit
  • squash:选中,会将当前commit与上一个commit合并
  • fixup:与squash相同,但不会保存当前commit的提交信息
  • exec:执行其他shell命令
  • drop:移除commit信息

正常选中 second commit,将third commit 与 second commit合并

命令可以使用完整命令,也可以使用缩写,

我们可以修改commit信息,也可以添加新的commit信息,完成commit信息的提交后,两条commit提交就合并在一起了


回滚错误的commit提交

  • git revert
//撤销操作,回到指定提交点,
//通过revert的撤销操作是在最后一个提交上增加了一个撤销了操作的新提交
git revert <commit>
  • git reset
//删除最新一次的提交,HEAD~1可替换为指定的 commit hash 值,回退到指定提交点
git reset HEAD~1
//同上,但是不保留最新更改
git reset --hard HEAD~1
//强制推送
git push --force

最新文章

  1. jQuery动画的实现
  2. 学习笔记——Maven 如何处理传递性依赖
  3. 使用kvm虚拟出Centos6.5系统相关步骤
  4. codevs 1704 卡片游戏
  5. HTTP 错误 500(Internal Server Error)
  6. Spring IoC容器的设计—2—主线
  7. css.day03.eg
  8. 【ios开发】图片拉伸
  9. Cosmos OpenSSD--greedy_ftl1.2.0(三)
  10. kafka原理和实践(六)总结升华
  11. SpringCloud的微服务网关:zuul(实践)
  12. corel
  13. python--网络编程urllib
  14. Windows字符集安装
  15. IdentityServer4支持的授权类型以及组合
  16. js 学习记录(一)
  17. CF932F Escape Through Leaf 斜率优化、启发式合并
  18. ionic中ng-options与默认选中第一项的问题
  19. 《算法》第五章部分程序 part 8
  20. Luogu 3620 数据备份 - Set

热门文章

  1. angular $cookies、$cookieStore
  2. vhost:一种 virtio 高性能的后端驱动实现
  3. Anaconda更新和第三方包更新
  4. JAVA 键盘输入数组,输出数组内容和最大值、最小值
  5. linux 树型显示文件 tree ls tree 命令
  6. php switch case语句用法
  7. SSL和SSH有什么区别
  8. Java数据持久层框架 MyBatis之API学习十(Logging详解)
  9. fhs文件系统层级结构
  10. HTML中padding和margin的区别和用法