本人比较建议采用一种比较温和的方式
一般仓库项目是都是多人协作完成,这么操作会使用别人本地的代码库混乱,所以只能建一个新的提交,这个新的提交中把想取消的提交都 revert 掉,那么具体应该如何做呢?方法如下:
首先,用 git reset --hard 25307b3(版本id) 将代码切换到目标提交的 id。
然后,用 git push -f origin master命令(source 分支),将当前代码切换回最新的提交。
执行完上面两步后,你的仓库还是最新的提交,但是工作区会变成历史的提交内容,这个时候用 git add 和 git commit 即可。
该方法需要保证 reset 的时候没有别人做新的提交,所以还是挺危险的,一旦别人做了新的提交,会将别人新提交的代码撤销掉,用时需谨慎。