有时候我们可能会遇到git提交错误的情况,比如提交了敏感的信息或者提交了错误的版本,这个时候我们想将提交到代码库的记录删除。
获取要回滚到的提交点的hash值
首先,我们需要找到我们需要回滚到的提交点的hash,可以使用
$ git log
命令获取提交的历史找到需要回滚到的提交点。
回滚
复制hash值,使用
$ git reset –hard commit_hash
将head指向当前想会滚到的地方。
push新的head到git
再使用
$ git push origin HEAD –force
将当前指向的head推到git。
困了,睡会觉吧,卡,电脑关上了,第二天又想找到新版本咋办?
那还不简单吗,输入
git reflog
(此命令用来记录你的每一次命令)命令,
之后找到add warm的commit id
就可以了
但是要记住,上述操作只是更改了Head值,已经执行的操作提交过的文件并没有从仓库中消失,只是被隐藏了而已,所以你的恢复操作会有效;
引出了另一个问题,怎么把已经提交到仓库中的文件删除,且不影响仓库。
参见处理GitHub上的不允许100MB大文件上传