Git进阶操作--回滚代码
问题描述
可能是我之前的操作都太简单了,几乎都是一遍提交,从来没有遇到过回滚的情况,也没有进行深入的研究。直到今天,我把一次修改提交之后,发现博客网站全部乱码,倒也不是乱码,只是没有任何秩序可言,我当时只感脑壳一白。我是谁?我在哪?我在干什么?
我真的不知道是做了什么修改,可能是因为修改时几次误操作,而且操作过那么多文件,要想一个一个去排查,几乎是不可能的。
我想这可能就是Git之所以能够封神的原因之一吧,他支持项目的回滚。可以回到任何一个提交的修改点,就像是每次提交都像是给虚拟机拍了一个快照。
那么进入今天的正题吧!!!
解决办法
- 首先在网站上把要恢复的Git-sha码复制下来
- 接下来回到终端执行
1 | git reset --hard commit_sha |
把“commit_sha”换成刚刚复制下来的sha码,有时候在终端粘贴的时候会在末尾带一个”~”,要记得删掉。
- 最后强制提交更改
1 | git push origin HEAD --force |
执行完项目就完成回滚了,学会这一招儿,你就可以尽情造作了,玩坏了就回滚,so easy!!!