撤销并保留修改

参数 –soft

  1. # 先进行commit ,之后后悔啦
  2. $ git commit -am "对首篇报告研究员字段改为author_name"

执行git log

  1. $ git log
  2. commit 3d6788f577faba5e1d408e372031c81beee79749
  3. Author: yous <yous.com>
  4. Date: Thu Dec 14 10:08:36 2017 +0800
  5. 添加
  6. commit 5029f0cc08cffb77f7358de7d5534e8f8eacb82e
  7. Author: yous <yous.com>
  8. Date: Thu Dec 14 09:52:39 2017 +0800
  9. Revert "Revert "修改过程""
  10. This reverts commit c81f785a06804f5f40b41dedd038efbe6d83f8a8.
  11. commit c81f785a06804f5f40b41dedd038efbe6d83f8a8
  12. Author: yous <yous.com>
  13. Date: Thu Dec 14 09:52:22 2017 +0800
  14. Revert "修改"
  15. This reverts commit 5a1d18a032d8c9269613ff14593847f82043e627.
  16. commit 5a1d18a032d8c9269613ff14593847f82043e627

可以看出,第一个是我刚刚commit的,我要撤销,当然是选择第二个;

执行命令git reset --soft <commit>

$ git reset --soft 5029f0cc08cf
  • 之后我们查看下,状态:
  1. $ git status
  2. On branch yutao
  3. Your branch is up-to-date with 'origin/yutao'.
  4. Changes to be committed:
  5. (use "git reset HEAD <file>..." to unstage)
  6. modified: dataservice/app/ggservice/v1/event/service/InfoEventService.java

可以看出已经回撤啦,并且保留了修改。

参数 –mixed

  1. $ git reset --mixed 5029f0cc08cff
  2. Unstaged changes after reset:
  3. M dataservice/app/ggservice/v1/event/service/InfoEventService.java
  4. yutao@yutao MINGW64 /d/sts/workspace/ggservice (yutao)
  5. $ git status
  6. On branch yutao
  7. Your branch is up-to-date with 'origin/yutao'.
  8. Changes not staged for commit:
  9. (use "git add <file>..." to update what will be committed)
  10. (use "git checkout -- <file>..." to discard changes in working directory)
  11. modified: dataservice/app/ggservice/v1/event/service/InfoEventService.java
  12. no changes added to commit (use "git add" and/or "git commit -a")

这种方式也是可以的。 
参数--soft--mixed区别:

参数 区别
--soft 会将改动放在缓存区
--mixed 不把改动放在缓存区

git reset –hard <commit_id>

这种方式,我个人是不推荐,它也是撤销,但是不会保留修改。 
除非你确实是不想要刚刚commit的内容,否则,这个操作会让你之前干的活,白干。 
所以非常不推荐这个方式。

转载于:https://www.cnblogs.com/wwjldm/p/10456078.html

git撤销commit 并保存之前的修改相关推荐

  1. git撤销commit

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

  2. git撤销commit到未提交状态_Git在4个阶段5种状态下的撤销操作

    在项目开发中我们一般选择GIT作为版本控制,随着项目的不断迭代升级,我们有时候提交代码后想要撤销或者还原,许多童鞋对这些操作不是很熟悉或者很头疼,各种百度比较麻烦,今天我就来总结一下. Git操作的三 ...

  3. git 撤销commit

    撤销未push的commit # 用户已经执行的操作 git add . git commit -m "提示"# 现在想要撤销之前的提交 # 第一种:不删除工作空间提交的代码,撤销 ...

  4. git 撤销全部的commit_恢复git撤销commit的代码

    使用git reset --hard 是将磁盘文件也删除 时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 reset, rebase 和 merge.甚至一些很小的操作,例如删除一个分支 ...

  5. git 撤销对工作区中文件的修改

    对工作区中文件的修改分为三种情况: (1)修改,但没有用git add将修改添加到暂存区: (2)修改,已经使用git add将修改添加到暂存区: (3)修改,已经使用git add将修改添加到暂存区 ...

  6. idea使用 git 撤销commit

    2019独角兽企业重金招聘Python工程师标准>>> 填写commit的id  就可以取消这一次的commit 转载于:https://my.oschina.net/u/35596 ...

  7. git 撤销全部的commit_git如何撤销commit的方法(未push)

    撤销commit一般用git reset ,语法如下: git reset [ --mixed | --soft | --hard] [] 1.使用参数--mixed(默认参数),如git reset ...

  8. git分支合并、撤销;git修改已push的commit信息; git 撤销操作;

    git分支合并 1.分支代码提交 2.git branch 查询本地分支 3.git checkout 分支名1 切换分支到需要合并的分支上 4.git merge 分支名2  //选择要合并到 分支 ...

  9. Git关于commit的操作,修改message,合并commit,撤销commit

    文章目录 Git修改已提交commit的message信息 修改最近一次commit的message 修改之前commit的message 合并commit 合并连续的commit 合并间隔的comm ...

最新文章

  1. 落地即一地鸡毛,AI落地存在的难题有哪些?
  2. BMP格式知识之二:16位,24位,32位的BMP图片算法是如何运算的
  3. 若依前后端分离版数据库已经存在的字典添加一条后刷新没作用,必须清除Redis缓存
  4. Git的配置SSHKey
  5. 蜗牛星际 --【功耗测量】
  6. 抓包红色_抓包三部曲 WebSocket 协议原理抓包分析
  7. The table(CF-226D)
  8. 快速排序伪代码_归并排序之入门到quot;放弃quot;
  9. python3发布时间_什么时候python 3 才能有更好的支持呢?
  10. (转载)VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)...
  11. 常用的多列等高布局收藏
  12. 断网会导致xml加载失败数据库失败,识别不了,mybatis官网
  13. Linux命令之rz命令与sz命令
  14. 一款简单的取色器:ObtainColor拾色器
  15. 如何通过个人博客赚钱,走上财务自由?
  16. mstar v56几路hdmi_TCL MStar常用升级方法图文教程
  17. arcsin在matlab中怎么输,matlab arcsin
  18. V4L2框架-视频流的停止(VIDIOC_STREAMOFF)
  19. 搜索计算机找不到,win7找不到搜索框怎么办?win7找不到搜索框修复方法
  20. 【vscode插件集】学前端一年,珍藏的 40个 vscode 插件

热门文章

  1. SpringBoot中各配置文件的优先级及加载顺序
  2. 读C#开发实战1200例子记录-2017年8月14日10:03:55
  3. Java BigDecimal Rounding Mode
  4. AngularJs 相应回车事件
  5. ubuntu安装环境软件全文档
  6. VMware共享文件夹遇到的问题
  7. winged edge翼边
  8. docker 启动的 jenkins 中调用宿主机docker进行build
  9. Lecture 21 Parallel Algorithms II
  10. 强大的django-debug-toolbar,django项目性能分析工具