git撤销commit 并保存之前的修改
撤销并保留修改
参数 –soft
- # 先进行commit ,之后后悔啦
- $ git commit -am "对首篇报告研究员字段改为author_name"
执行git log
- $ git log
- commit 3d6788f577faba5e1d408e372031c81beee79749
- Author: yous <yous.com>
- Date: Thu Dec 14 10:08:36 2017 +0800
- 添加
- commit 5029f0cc08cffb77f7358de7d5534e8f8eacb82e
- Author: yous <yous.com>
- Date: Thu Dec 14 09:52:39 2017 +0800
- Revert "Revert "修改过程""
- This reverts commit c81f785a06804f5f40b41dedd038efbe6d83f8a8.
- commit c81f785a06804f5f40b41dedd038efbe6d83f8a8
- Author: yous <yous.com>
- Date: Thu Dec 14 09:52:22 2017 +0800
- Revert "修改"
- This reverts commit 5a1d18a032d8c9269613ff14593847f82043e627.
- commit 5a1d18a032d8c9269613ff14593847f82043e627
可以看出,第一个是我刚刚commit的,我要撤销,当然是选择第二个;
执行命令git reset --soft <commit>
$ git reset --soft 5029f0cc08cf
- 之后我们查看下,状态:
- $ git status
- On branch yutao
- Your branch is up-to-date with 'origin/yutao'.
- Changes to be committed:
- (use "git reset HEAD <file>..." to unstage)
- modified: dataservice/app/ggservice/v1/event/service/InfoEventService.java
可以看出已经回撤啦,并且保留了修改。
参数 –mixed
- $ git reset --mixed 5029f0cc08cff
- Unstaged changes after reset:
- M dataservice/app/ggservice/v1/event/service/InfoEventService.java
- yutao@yutao MINGW64 /d/sts/workspace/ggservice (yutao)
- $ git status
- On branch yutao
- Your branch is up-to-date with 'origin/yutao'.
- Changes not staged for commit:
- (use "git add <file>..." to update what will be committed)
- (use "git checkout -- <file>..." to discard changes in working directory)
- modified: dataservice/app/ggservice/v1/event/service/InfoEventService.java
- 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 并保存之前的修改的更多相关文章
- Git撤销commit消息保留修改
有时候commit后发现commit信息错了或者是添加了不想commit的内容,但还没有push到远程仓库 这个时候 git reset --soft [commit_id] 就可以回滚到某一个com ...
- git撤销commit
请参考该文章:http://www.cnblogs.com/ningkyolei/p/5026011.html 场景: 不小心commit了一个不应该commit的修改,但是还没有push,想撤销那个 ...
- git撤销commit,但未git push的命令
在git push的时候,有时候我们会想办法撤销git commit的内容 1.找到之前提交的git commit的id git log 找到想要撤销的id 2.git reset –hard id ...
- git 撤销commit
如果不小心commit了一个不需要commit的文件,可以对其进行撤销. 先使用git log 查看 commit日志 commit 422bc088a7d6c5429f1d0760d008d86c5 ...
- 恢复git撤销commit的代码
使用git reset --hard 是将磁盘文件也删除 时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 reset, rebase 和 merge.甚至一些很小的操作,例如删除一个分支 ...
- idea使用 git 撤销commit 原
填写commit的id 就可以取消这一次的commit
- git 撤销提交的文件
一.问题 近期在使用git时遇到一个问题,就是在git上传文件时,将一个100兆的大文件添加到了git,并执行了push操作,这时在上传完毕后,会提示这个错误 Large files detected ...
- [转]git commit之后,想撤销commit
本文转自:http://www.cnblogs.com/lfxiao/p/9378763.html 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m &quo ...
- git commit之后,想撤销commit
原文 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: ...
随机推荐
- C# 小算法1
//判断 第一条的 ‘叶子2’ 在 第二条 数据中的 索引 //任河特大桥,右幅,叶子2,桩基混凝土, //任河特大桥,,,,,右幅,,,叶子2,桥墩, string str1 = "任河特 ...
- react学习2
props,state与render函数的关系 react,父组件的state中的变量改变,则相应的render函数也会执行,返回新的视图,同时父组件的子组件通过props获取父组件的state的变量 ...
- Game Engine Architecture 9
[Game Engine Architecture 9] 1.Formatted Output with OutputDebugString() int VDebugPrintF(const char ...
- Oracle主从同步、双向同步的配置
(本教程展示了Windows环境的oracle数据库主从同步,Linux环境一样也可以) (把主数据库obpm 和从数据库orcl 用实际的数据库名给替换掉) (配置主从同步后,再配置双向同步,可能会 ...
- 【相关网站 - 02】- Java 好文博客
一.源码分析博客 还有这种操作?浅析为什么要看源码 你觉得什么才是 Java 的基础知识? 1. JDK 2. Mybatis 3. Spring 4. Sring Boot 5. Spring Cl ...
- c# int类型的转datetime类型
int a =20190319; DateTime b = DateTime.ParseExact(a.tostring(),"yyyyMMdd",System.Globali ...
- 词根:sol = sun(太阳) 词根:sol = alone/single, whole/entire (单独的)
词根:sol = sun(太阳) sol 这个词根有的书上如刘毅字典,刘洪波英文字根词源精讲等上面说来自拉丁语的sol(=sun),有的书如赢在单词上面说sol 来自拉丁语的solari,但不管哪种说 ...
- Java反射基础知识
反射机制就是可以把一个类,类的成员(属性.方法)当成一个对象来操作,也就是说,类,类的成员,我们在运行的时候可以动态的去操作它们. 所有的Java类都继承了Object类,在Object类中定义了一个 ...
- 回溯+DFS 强化
1020. 飞地的数量 思路:从4条边界出发,把能遍历到的1全部变成0.剩下的1就是边界所不能到达的点,统计一下1的数量即可. 解题思路:DFS. 时间超越100%python用户提交 ,内存超越8 ...
- 好用的.NET控制台测试项目
在工作和学习上,我们经常需要创建项目,引用些其他的库,测试下自己的想法是否正确,需要捕捉一下异常.调用一下异步方法.记录一下log等等,这样的项目都是需要花费时间,为了较少花费的时间,产生了一个这样的 ...