Git 如何撤回某一次提交
Git 如何撤回某一次提交
在 master 分支做了一次 commit ??!!
git add index.js git commit -m '自以为是在开发分支其实是在master分支的一次提交'
之前没有出过这样的错误。就算出现也是直接push
了然后再 reset
回滚然后再次 push -f
。
如何合适的解决这种情况
reset
的三个参数
--mixed
(默认参数)
重置位置的同时,只保留Working Tree
工作目录的內容,但会将暂存区 和 Repository
中的內容更改和 reset
目标节点一致,所以原节点和Reset节点之间的变更文件,会放入Working Tree
工作目录中。
简单来说就是:不删除工作空间改动代码,但是撤销commit
,并且撤销git add
git reset --mixed HEAD^ 和 git reset HEAD^
HEAD^ HEAD~1 HEAD~2
其中
HEAD^ HEAD~1
同为上一个版本,
HEAD~2
为上两个版本,也就是两次commit,以此类推
如果需要再撤销修改
git checkout index.js
--soft
重置位置的同时,保留 working Tree
工作目录和暂存区的内容,只让 repository
中的内容和 reset
目标节点保持一致,所以原节点和reset节点之间的变更文件会放入暂存区中。
简单来说就是:不删除工作空间改动代码,撤销commit
,不撤销git add
--hard
重置位置的同时,直接将 working Tree
工作目录、 暂存区及 repository
都重置成目标 reset
节点的內容。
简单来说就是:删除工作空间改动代码,撤销commit
,撤销git add
这个操作会直接恢复到了上一次的
commit
状态。
如果已经push origin
在做完上面的操作后
git push origin -f
一般在撤回回滚的操作时候请记录好
commit
的版本号,以防再次出现失误无法挽回
原文地址:https://segmentfault.com/a/1190000020142668
相关推荐
-
Java爬虫–Https绕过证书 Java基础
2019-10-7
-
再见2019,你好2020 Java基础
2020-6-15
-
Java面试题:小白不得不懂的斐波那契数列 Java基础
2019-5-8
-
让机器读懂视频:亿级淘宝视频背后的多模态AI算法揭秘 Java基础
2020-7-2
-
使用 Springboot 开发电商项目之 IDEA 创建项目 (二) Java基础
2020-6-15
-
Android TV开发 Java基础
2020-6-16
-
京东商城背后AI技术揭秘(二)——基于商品要素的多模态商品摘要 Java基础
2020-7-2
-
macos 安装多版本JDK并进行切换 Java基础
2019-9-1
-
使用Optional摆脱NPE的折磨 Java基础
2019-9-1
-
你真的很熟分布式和事务吗? Java基础
2018-3-20