合并多个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

Git点滴记录的更多相关文章

  1. git使用记录(新手入门)

    最近参与了公司的项目开发,最后要用git来把代码添加到远程库,但是没怎么接触过git,记录一下使用的流程 首先,当然是先下载git,这个略过不提,下载完之后,在你想要保存代码的目录下,用git ini ...

  2. linux下git使用记录1 git 提交

    linux下git使用记录1   浏览:985 发布日期:2013/08/08 分类:技术分享 在使用github的时候,不可避免的接触到了git,用他来更新项目,做版本控制.这里特别把常用的命令记录 ...

  3. 如何搜索 git 提交记录

    如何搜索 git 提交记录 git log -p --all -G '可通过正则搜索' --pretty=format:'%ci' # 可跨分支搜索 # -S '通过文本搜索' git branch ...

  4. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  5. git杂记-记录每次更新到仓库

    git status 和 git diff的运用 git status 记录的是关于仓库文件是否有变更,例如是否被修改,是否被添加到暂村区.至于文件更改了什么内容该命令并不关心: git status ...

  6. gitignore失效 删除 git commit记录

    已追踪的文件需要清理本地缓存 git rm -r --cached . git add . git commit -m 'update .gitignore' 删除 git commit记录 不小心上 ...

  7. [译] 怎样(以及为什么要)保持你的 Git 提交记录的整洁

    最近在掘金翻译了一篇文章,主要讲的是 Git 提交记录的维护,确实很有用,感兴趣的同学可以去看一下.链接如下: [译] 怎样(以及为什么要)保持你的 Git 提交记录的整洁 截图:

  8. 怎样快速找到某一行代码的git提交记录

    利用notepad++提高问题分析效率,以及快速找到某一行代码的git提交记录 1. 全目录搜索/替换 Notepad++是一款强大的文本编辑工具,当知道大概的关键词但不知道在哪个日志时可以使用not ...

  9. git 学习记录—— git 中的仓库、文件状态、修改和提交操作等

    最近开始学习使用版本控制工具  git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...

随机推荐

  1. the method of validate slow

  2. python网络编程基础

    一.客户端/服务器架构 网络中到处都应有了C/S架构,我们学习socket就是为了完成C/S架构的开发. 二.scoket与网络协议 如果想要实现网络通信我们需要对tcpip,http等很多网络知识有 ...

  3. UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现

      UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现   测试数据 java代码 package com.hzf.spark.study; import ...

  4. iOS学习——键盘弹出遮挡输入框问题解决方案

    在iOS或Android等移动端开发过程中,经常遇到很多需要我们输入信息的情况,例如登录时要输入账号密码.查询时要输入查询信息.注册或申请时需要填写一些信息等都是通过我们键盘来进行输入的,在iOS开发 ...

  5. asp.net -mvc框架复习(1)-ASP.NET网站开发概述

    1.网站开发的基本步骤: 2.网站开发的需要的知识结构 (1)网站开发前台页面技术 页面设计:HTML  .CSS+DIV 页面特效:JavaScript.jQery (2)OOP编程核心公共技能 C ...

  6. 1.(python)__new__与__init__

    1.来比较一下__new__与__init__: (1)__new__在初始化实例前调用,__init__在初始化实例之后调用,用来初始化实例的一些属性或者做一些初始操作 # -*- coding: ...

  7. mmap 测试的一些坑

    最近遇到一个mmap的问题,然后为了测试该问题,写了如下测试代码: #include <sys/mman.h> #include <sys/stat.h> #include & ...

  8. Win8无法访问xp共享的解决方法——win8网上邻居访问别的xp电脑要用户名和密码取消方法

    新装win8,原来的win7正常连接xp下载机的共享,但在win8下进网上邻居却无法访问xp的共享,显示”用户名或密码不正确”,而密码明明是对的如图所示: 解决方法: 按Win+R启动运行,输secp ...

  9. python下划线作用初识

    单下划线(例:_textchar) 以单下划线做前缀的名称指定了这个名称是"私有的".在 有些 导入import * 的场景中,下一个使用你代码的人(或者你本人)会明白这个名称仅内 ...

  10. SqlSession 同步为注册,因为同步未激活

    Creating a new SqlSessionSqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7d620db9] ...