撤销并保留修改

参数 –soft

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

执行git log

  1.  $ git log
  2.   
  3.  commit 3d6788f577faba5e1d408e372031c81beee79749
  4.  Author: yous <yous.com>
  5.  Date: Thu Dec 14 10:08:36 2017 +0800
  6.  
  7.  添加
  8.   
  9.  commit 5029f0cc08cffb77f7358de7d5534e8f8eacb82e
  10.  Author: yous <yous.com>
  11.  Date: Thu Dec 14 09:52:39 2017 +0800
  12.  
  13.  Revert "Revert "修改过程""
  14.   
  15.  This reverts commit c81f785a06804f5f40b41dedd038efbe6d83f8a8.
  16.   
  17.  commit c81f785a06804f5f40b41dedd038efbe6d83f8a8
  18.  Author: yous <yous.com>
  19.  Date: Thu Dec 14 09:52:22 2017 +0800
  20.   
  21.  Revert "修改"
  22.   
  23.  This reverts commit 5a1d18a032d8c9269613ff14593847f82043e627.
  24.   
  25.  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.   
  7.  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.   
  5.  yutao@yutao MINGW64 /d/sts/workspace/ggservice (yutao)
  6.  $ git status
  7.  On branch yutao
  8.  Your branch is up-to-date with 'origin/yutao'.
  9.  Changes not staged for commit:
  10.  (use "git add <file>..." to update what will be committed)
  11.  (use "git checkout -- <file>..." to discard changes in working directory)
  12.  
  13.  modified: dataservice/app/ggservice/v1/event/service/InfoEventService.java
  14.   
  15.  no changes added to commit (use "git add" and/or "git commit -a")

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

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

git reset –hard <commit_id>

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

git撤销commit 并保存之前的修改的更多相关文章

  1. Git撤销commit消息保留修改

    有时候commit后发现commit信息错了或者是添加了不想commit的内容,但还没有push到远程仓库 这个时候 git reset --soft [commit_id] 就可以回滚到某一个com ...

  2. git撤销commit

    请参考该文章:http://www.cnblogs.com/ningkyolei/p/5026011.html 场景: 不小心commit了一个不应该commit的修改,但是还没有push,想撤销那个 ...

  3. git撤销commit,但未git push的命令

    在git push的时候,有时候我们会想办法撤销git commit的内容 1.找到之前提交的git commit的id git log 找到想要撤销的id 2.git reset –hard id ...

  4. git 撤销commit

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

  5. 恢复git撤销commit的代码

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

  6. idea使用 git 撤销commit 原

    填写commit的id  就可以取消这一次的commit

  7. git 撤销提交的文件

    一.问题 近期在使用git时遇到一个问题,就是在git上传文件时,将一个100兆的大文件添加到了git,并执行了push操作,这时在上传完毕后,会提示这个错误 Large files detected ...

  8. [转]git commit之后,想撤销commit

    本文转自:http://www.cnblogs.com/lfxiao/p/9378763.html 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m &quo ...

  9. git commit之后,想撤销commit

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

随机推荐

  1. Code First 不自动生成数据库

    工具--〉程序包管理器控制台 k1. 启用迁移: Enable-Migrations Enable-Migrations -ContextTypeName Mvc4WebSite.Models.Mvc ...

  2. Cmake实践(Cmake Practice)第一部分

    参考资料地址:https://github.com/Akagi201/learning-cmake/blob/master/docs/cmake-practice.pdf 一.初识cmake 1. C ...

  3. cf1047C-Enlarge GCD-(欧拉筛+map+gcd+唯一分解定理)

    https://vjudge.net/problem/CodeForces-1047C 题意:有n个数,他们有个最大公约数设为maxxgcd,要删去一些数,使得剩下的数的gcd大于maxxgcd. 解 ...

  4. react 关闭eslint 配置

    在 package.json 中修改为一下 "eslintConfig": { "extends": "react-app", " ...

  5. Charles篡改后台数据

    1.打开Charles找到相对应的接口 2.在接口上右键选择Breakpoints打断点. 3.重新请求截断接口,Charles会多弹出一个截断窗口如下图(第一个修改请求的,第二图是修改返回的) 点击 ...

  6. 【IDEA】关于idea开发工具使用

    idea这个开发工具有很强大的功能,然鹅有时候某些地方需要注意...(注明一下,我的版本2017.3.2因为不知道新版本有木有优化) 先说说建包,比如我在src下建了个com.xxxxx.test的包 ...

  7. 2018-2019-2 《Java程序设计》结对项目阶段总结《四则运算——整数》(二)

    20175218 2018-2019-2 <Java程序设计>结对项目阶段总结<四则运算--整数> 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减, ...

  8. mysql 文件

    慢查询日志 log_query_time 查询时间超过这个值则会出现在慢查询日志中,默认值是10 log_slow_queries  是否开启慢查询 log_queries_not_using_ind ...

  9. 【LeetCode刷题系列 - 003题】Longest Substring Without Repeating Characters

    题目: Given a string, find the length of the longest substring without repeating characters. Example 1 ...

  10. .gitinore配置失效问题

    问题:在.gitinore中配置忽略项,配置失效 原因:新增加忽略项已经提交过,在暂存区或分支上被版本控制 解决:删除暂存区或分支上的文件(本地需要使用, 只是不希望这个文件被版本控制), 可以使用 ...