git撤销错误提交commit

git 2016-03-07

起步

commitpush到github之后,惊讶发现测试代码没删除,一些信息直接输出出来了,解决方法自然有去掉调试信息后重新commit,但想想后续会带来不必要的麻烦,而且万一提交的是公司服务器ip账号密码等信息就可怕了。

回滚

git的回滚可以用–-soft –-mixed –-hard,会对工作树和index和HEAD进行重置:

  • --mixed 这是默认方式,回退到某个版本,只保留源码,回退commit和index信息
  • --soft 回退到某个版本,只会退commit,不会恢复到index file一级
  • --hard 彻底回退到某个版本,本地的源码也会变成上一版本的内容

选择以下合适的命令:

git reset --hard <commit_id> #id 用git log查看
git reset HEAD^ #上一次提交
git reset HEAD #最近一次提交

提交

git push origin HEAD --force

本文由 hongweipeng 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

如果对您有用,您的支持将鼓励我继续创作!