git commit -am 之后,撤销并保留修改
来源:互联网 发布:uber软件下载 编辑:程序博客网 时间:2024/06/05 01:18
环境
操作系统:win7
git: 2.9
场景
有时我们在进行commit
之后,后悔了!具体点就是:
我公司的流程应该是代码先提交到自己的分支中,再提交到dev
分支中,测试完毕后,在合并到master
分支中。有时一不小心先提交到了dev
分支中,由于dev
分支禁止合并到master
分支中,所以我得先撤销,再去提交到自己的分支,再合到dev
分支。
撤销并保留修改
参数 –soft
# 先进行commit ,之后后悔啦$ git commit -am "对首篇报告研究员字段改为author_name"
执行git log
$ git logcommit 3d6788f577faba5e1d408e372031c81beee79749Author: yutao <1185651333@qq.com>Date: Thu Dec 14 10:08:36 2017 +0800 对首篇报告研究员字段改为author_namecommit 5029f0cc08cffb77f7358de7d5534e8f8eacb82eAuthor: yutao <1185651333@qq.com>Date: Thu Dec 14 09:52:39 2017 +0800 Revert "Revert "报告类型字段改为report_type"" This reverts commit c81f785a06804f5f40b41dedd038efbe6d83f8a8.commit c81f785a06804f5f40b41dedd038efbe6d83f8a8Author: yutao <1185651333@qq.com>Date: Thu Dec 14 09:52:22 2017 +0800 Revert "报告类型字段改为report_type" This reverts commit 5a1d18a032d8c9269613ff14593847f82043e627.commit 5a1d18a032d8c9269613ff14593847f82043e627
可以看出,第一个是我刚刚commit
的,我要撤销,当然是选择第二个;
执行命令git reset --soft <commit>
$ git reset --soft 5029f0cc08cf
之后我们查看下,状态:
$ git statusOn branch yutaoYour 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 5029f0cc08cffUnstaged changes after reset:M dataservice/app/ggservice/v1/event/service/InfoEventService.javayutao@yutao MINGW64 /d/sts/workspace/ggservice (yutao)$ git statusOn branch yutaoYour 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.javano changes added to commit (use "git add" and/or "git commit -a")
这种方式也是可以的。
参数--soft
和--mixed
区别:
--soft
会将改动放在缓存区 --mixed
不把改动放在缓存区git reset –hard <commit_id>
这种方式,我个人是不推荐,它也是撤销,但是不会保留修改。
除非你确实是不想要刚刚commit
的内容,否则,这个操作会让你之前干的活,白干。
所以非常不推荐这个方式。
git log
查看日志,一般用来找commit_id
;
参考地址
Git能否撤销commit的同时,保留已经做出的修改
阅读全文
0 0
- git commit -am 之后,撤销并保留修改
- git使用情景2:commit之后,想撤销commit
- Git撤销git commit 但是未git push的修改
- Git撤销git commit 但是未git push的修改
- Git撤销git commit 但是未git push的修改
- Git撤销git commit 但是未git push的修改
- git commit 错误的代码之后的撤销
- git撤销commit
- git 撤销commit
- git 撤销commit
- git 撤销commit
- git撤销commit
- git commit 撤销
- git 撤销commit
- git 撤销commit
- git 撤销commit
- git 撤销commit
- Git撤销Commit操作
- Siemens.NX.Nastran.12.0.Win64.&.Linux64 2DVD
- iOS-判断字符串为空你以为这么简单吗?
- 进程线程例子
- ZooKeeper的典型应用场景之分布式协调/通知。
- Redis初始化
- git commit -am 之后,撤销并保留修改
- 数据结构期末课堂总结
- poi读取Excel时日期为数字 的解决方法
- 正则笔记
- Idea工具的破解
- 数据结构实验之栈与队列一:进制转换
- CocoaPods获取与使用
- 渗透测试之本地文件包含漏洞
- springcloud(三):服务提供与调用