十二: git 回退到制定commit(git reset har VS soft)
git clone XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
git log -5 // 查看最近5个commit
回退命令:
$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 退到/进到 指定commit的sha码
强推到远程:
$ git push origin HEAD --force
git reset中的hard与soft
对于git reset --hard
的作用是代码强制回溯到某节点,对于当前节点->回溯节点中间已commit的内容就会全部消失,
而 git reset --soft
模式下与hard模式会有所不同,他会保存当前节点->回溯节点之间已保存的内容。
--hard场景:1.当我们发现提交的某个commit完全不想要了,我们此时可以选择使用–hard去回退版本(–hard)。
--soft场景: 1.当我们不小心把还没有添加完毕的功能commit提交上去时,这个时候我们可以使用–soft去回退我们误提交的commit,完成此功能后,可以接着继续改,再重新提交commit。