这个命会在已经提交之后又不想要的时候会被用到。或许它是一个依然在开发中的半成品提交,或者可能提交的东西出了bug,总之在这种情况,我们可以使用 git reset 命令。
git reset 会让我们控制 HEAD 指向我们需要指向的位置。
软重置 soft reset
图片来源:点击这里
假设我们不想保留 9e78i 添加 style.css 文件的提交,也不想保留 035cc 添加 index.js 文件的提交。但是,我们又希望保留新添加的 style.css 文件 index.js
也可以使用以下命令 :
git reset --soft XXXXXXX
移动到指定的提交上,并保留当前工作区内的修改
这时输入:
git status
可以看到工作区内的修改仍然存在。
硬重置 hard reset
与软重置目的相同,但不会保留当前工作区和暂存区的所有内容
动图中可以看到: 他已经丢弃了在 9e78i 和 035cc 上引入的更改,并且重置它的状态到提交 ec5be 所在的位置
此时再输入:
git status
会发现所有的修改都已经被抛弃