Git 命令行代码回退
撤销工作区代码
git checkout -- <file>
撤销暂存区代码
- 将暂存区代码撤销到工作区,
git reset HEAD
- 将工作区的代码撤销
撤销本地仓库代码
git reset --hard <版本号>
- 可以使用
HEAD^
来描述版本,一个^
表示前一个版本,两个^^
表示前两个版本,以此类推 - 也可以使用数字来代替
^
,比如说前100
个版本可以写作HEAD~100
- 也可以直接写版本号,表示跳转到某一个版本处。我们每次提交成功后,都会生成一个哈希码作为版本号,所以这里我们也可以直接填版本号,哈希码很长,但是我们不用全部输入,只需要输入前面几个字符即可,就能识别出来
撤销远程仓库代码
命令行方式
先在本地仓库撤销,然后 push 到远程仓库
IDEA方式
未提交撤销:直接点击 Rollback 按钮,选择具体文件
已提交撤销:查看提交日志进行回退
- Revert Commit : 只能在最近一次提交上使用,不能在其他提交上使用
- Undo Commit : 这个操作到处都能用,不同于 Undo Commit,Revert Commit 之后,会产生一条提交记录。相当于 Revert Commit 其实也是提交,只不过提交的内容刚好相反,刚好刷掉已有内容
已push撤销
先在本地仓库撤销,撤销完成后,重新修改代码,最后再 force push 就行了,不过 force push 的时候,注意别把同事的代码给覆盖。