1:本地已commit,未push到远程仓库
1)git log: 查看commit日志,获取commit的id
2) git reset --hard commit_id: commit_id就是你要回退到版本的commit id
2: 只属于自己的分支,已push到远程仓库
1)git log: 查看commit日志,获取commit的id
2) git reset --hard commit_id: commit_id就是你要回退到版本的commit id
3) git push -f: 强制push到远程分支
3:属于公共的分支,已push到远程仓库
git revert: 该命令会撤销某次提交,虽然回退了,但会产生一次新的提交,版本是向前的,所以当其他人pull下来后就会自动的回退了
【1】git revert HEAD: 撤销最近一次提交
【2】git revert HEAD~1: 撤销最近两次的提交,数字从0开始(如果已撤销过,产生了新的commit_id,那么也会把这个commit_id也计算在内)
【3】git revert commit_id: 撤销commit_id这一次的提交
当使用git revert HEAD~1方式回退时,会产生冲突,解决冲突只需要把当前最新的代码去掉,保留之前的代码,然后push到远程就可以了
git reset与git revert的区别:
git reset: 不会产生新的提交,把HEAD往后移
git revert: 会产生新的提交,把HEAD往前移
参考文章: https://blog.csdn.net/fuchaosz/article/details/52170105