【GIT】删除本地多次提交的commit

时光毁灭记忆、已成空白 提交于 2019-12-02 06:12:19
一直使用的是IDEA来管理版本,傻瓜式操作,但实际上并不利于理解版本管理。所以之后能够使用命令行就使用命令行。

这次遇到的问题是:idea自带git工具不小心多次提交了配置文件,叠加了多个commit,我想删除一些没用的提交的远程分支。

我大致将commit叠加分为以下情况:

commit(存在一个或者多个)全部都删除

方法很多,任意一个都行。
1.git reset

git reset --hard  HEAD^1   
//这里的1代表HEAD指向分支的上一个版本
//同理 1是上一个 2就是上上个

2.git stach

git stach
git stach drop

commit(存在一个或者多个)需要保留代码

比如说我更改了线上版本的配置文件,又不小心add了,那么我需要单纯删除这个git commit 重新commit
git reset

git reset --soft HEAD^1       #这样就能够撤销一个或者多个commit

补充 git reset 知识:
git reset用于撤销commit,配合几个参数使用有不同用处:
1.–mixed
不删除工作区代码,撤销commit,并且add到缓存区的文件也同样撤销
2.–soft
不删除工作区代码,撤销commit,不撤销add到缓存区的文件
3.–hard
删除工作区代码,撤销commit,撤销add到缓存区的文件

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!