git revert 回退已经push的内容

如题,在日常的开发过程中,可能有组员不小心一下子吧文件修改,需要进行回退

回退主要涉及到2种命令,一种是git reset 一种是 git revert

git reset 会修改git log提交历史
如果你只是要回退到最近的版本,那么reset和revert 产生的效果没有什么区别

但是,如果你是要回退到前几次的提交,那么这2种方式不同就出来了
reset会抹去 现在 到 回退点之间提交历史,这个十分不推荐,相当于掩盖了一些操作
revert以一个新的提交去进行覆盖

这里以我自己为案,我删除了一个module,需要进行回退,但是之间又有一些有意义的提交,那么显然,我不适合使用git reset,而是需要使用 git revert

删除project的历史是 4c9079d,在此之后,我有一些小回退,后面我要完全恢复这个工程,那么执行

git revert 4c9079d
git reset HEAD xxxx  // 因为我是删除了文件,所以需要修改这些操作,reset HEAD后,这些文件就重新出现了,
git status  // 查看状态就应该能看到很多  new file xxxx 的文件出来了
git commit -m 'roll back'
原文地址:https://www.cnblogs.com/westlin/p/11218332.html