在某个commit节点创建分支
git checkout -b feature20171102 45efd508d3b689d947d8d3393e9b39faa6b4c17c

撤销某个节点之后的提交,但是代码仍保持最新
git reset –soft 30a411b44b291581dcef24c8bc922368d41c0a8e

如果commit了一个不需要commit的文件,可以对其进行撤销。
先使用git log 查看 commit日志

commit 4f07d7a7cc97e2175bbdb1c20dd4ea7cc6def5fe
Author: zhangnan <zhangnan@it.com>
Date:   Mon Nov 6 18:11:42 2017 +0800同步老版本收银台iPhoneX的界面适配commit 0b54233552232e037fae955a9e235344f416dba7
Author: zhangnan <zhangnan@it.com>
Date:   Mon Nov 6 14:22:54 2017 +0800支付结果页面修改commit 675d974127a9ce89dbd42b461bf87c4109a3fb83
Author: zhangnan <zhangnan@it.com>
Date:   Fri Nov 3 18:26:56 2017 +0800支付结果界面修改commit 6f3f2ecf47e631e6f8dd5fe7bdae63745680bef7
Author: zhangnan <zhangnan@it.com>
Date:   Thu Nov 2 14:51:06 2017 +0800commit coupons' info

找到需要回退的那次commit的 哈希值,
git reset –hard commit_id

使用上面的命令进行回退时,会回到此次提交时的状态,工作区的代码也是如此,即之后的修改会丢失

但有时候,我们只是希望撤销commit历史记录,但要保存相应的文件修改并重新进行提交,就要用到以下的命令了:

根据–soft –mixed –hard,会对working tree和index和HEAD进行重置

git reset –mixed
此为默认方式,不带任何参数的git reset,即这种方式,它回退到某个版本,只保留源码,回退commit和index信息

git reset –soft
回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可

git reset –hard
彻底回退到某个版本,本地的源码也会变为上一个版本的内容

git commit相关推荐

  1. 【Git】ubuntu上git commit提交后如何保存和退出类似vim的界面,回到命令行

    问题 使用 git commit 命令后,进入类似vim的界面,开始时,不知道如何保存,甚至不知道怎么退出该界面. 解决方法 1.使用 git commit 命令后,进入的是nano文本编辑器(类似v ...

  2. git commit之后,想撤销commit

    原文 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: ...

  3. Git commit message和工作流规范

    总体方案 Git commit日志基本规范 <type>(<scope>): <subject><BLANK LINE><body>< ...

  4. “ git commit”和“ git push”之间有什么区别?

    在我正在学习的Git教程中, git commit用于存储您所做的更改. git push什么用? #1楼 git commit记录您对本地存储库的更改. git push使用本地更改更新 远程存储库 ...

  5. git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)(解决办法)

    问题原因: 问题原因:pre-commit钩子惹的祸当你在终端输入git commit -m"XXX",提交代码的时候,pre-commit(客户端)钩子,它会在Git键入提交信息 ...

  6. git commit —amend_Git之修改commit记录

    在很多影视作品里,就算主人公乘上了时光鸡,还是无法修改历史(或者说修改后造成十分严重的后果):而现在,在 Git 的强力驱动下,修改历史变得简单又相对安全. 本文叨叨修改 commit 历史的问题 应 ...

  7. git commit -m 与 git commit -am 的区别

    字面解释的话,git commit -m用于提交暂存区的文件:git commit -am用于提交跟踪过的文件 要理解它们的区别,首先要明白git的文件状态变化周期,如下图所示 工作目录下面的所有文件 ...

  8. Git的撤销操作 git commit --amend

    在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit --amend 撤销上一次提交 并讲暂存区文件重新提交 git checkou ...

  9. git commit -amend_最常见的Git错误都有哪些,如何解决它们?

    脚本之家 你与百万开发者在一起 如果您曾经与许多开发者一起开发一个大项目,那么使用 Git 作为版本控制是一个最好的选择.不过 Git 很复杂,使用过程中经常会犯各种错误.在本文中,我将讨论程序员在使 ...

  10. 【Git】Git 版本管理 ( 补充提交版本 git commit --amend | 版本库提取文件 git checkout -- filename | 删除文件 git rm )

    文章目录 一.补充提交版本 git commit --amend 二.版本库提取文件 git checkout -- filename 三.删除文件 git rm 一.补充提交版本 git commi ...

最新文章

  1. JAVA命令行编译及运行
  2. Maven的配置文件pom.xml
  3. Spring Boot 入门——Spring Boot 简介||微服务简介
  4. C语言实例:将人员信息写入磁盘文件并读出显示
  5. keras从入门到放弃(二)多项回归
  6. 引用dll动态库,动态库中弹出对话框输入,将输入参数,作为变量继续调用。...
  7. 来,看看这20个常用的宏定义!
  8. pandas重新设置列索引_python数据分析包Pandas(一)
  9. js字符串转换为json对象JSON.parse()及将json对象转为json字符串JSON.stringify()
  10. nlp任务分类及适用方法
  11. PostgreSQL“ DESCRIBE TABLE”
  12. 基于Android企业员工绩效考评APP的设计与实现
  13. win11系统项目启动报java.lang.IllegalStateException: Unmapped relationship: 7错误的解决
  14. 《大侦探皮卡丘》天龙八部在路上
  15. QGraphicsView使用详解
  16. 看柴静《苍穹之下》有感
  17. 微软Xbox击败PS4 主导“黑五”游戏机市场
  18. 尚硅谷YYDS (课件资料)
  19. 牛客网题源(JavaScript)
  20. Spring Cloud Alibaba

热门文章

  1. 计算机显卡型号中数字含义详解,显卡型号全解读:那么多字母如何理解?又分别代表啥意思?...
  2. 【Python基础知识整理】
  3. 风控数据来源及分析技巧
  4. PS 制作毛玻璃效果
  5. 3dmax修改器堆栈的妙用
  6. 「PKUSC2018」星际穿越
  7. 【高通SDM660平台】(2) --- Camera Kernel 驱动层代码逻辑分析
  8. SpringCloud-使用熔断器防止服务雪崩-Ribbon和Feign方式(附代码下载)
  9. 解决click事件在移动端操作延迟300ms问题和点击时穿透问题
  10. 7-4 求奇数和 (15 分)