本地仓库代码提交后回退
提交到本地仓库后
 点击提交后会保存在本地仓库
本地仓库的回撤
-
找到git的提交记录  -
右键选择撤销还原  -
撤销还原后会出现提交文件,成功将本地仓库的文件移除,但是本地的错误代码仍然存在  -
如果想撤销提交到本地仓库的错误文件,同时删除本地错误代码的更改,则选择还原提交或删除提交  
远程仓库代码提交后回退
使用快捷键 ctl+shift+k 提交本地代码到远程仓库
 点击推送后提交到远程仓库
代码的回退
- 点击错误代码提交记录的前一个记录,右键选择将当前分支重置到此处…
注意:选择将当前分支重置到此处…,执行的git 中reset命令,如果你的更改还没有共享给别人,git reset 是撤销这些更改的简单方法。当你传入 HEAD 以外的其他提交的时候要格外小心,因为 reset 操作会重写当前分支的历史。正如 rebase 黄金法则所说的,在公共分支上这样做可能会引起严重的后果。 
- 会出现四种选择
 - 选择保留和硬则会将本地的错误代码删除
 选择软和混合会保留本地的错误代码  以上的四种选择执行后都是改变本地仓库的状态,远程仓库并没有发生改变,执行完以上功能后需要在控制台中强制提交,idea此时不支持强制提交,HEAD代表分支名称
git push origin HEAD --force
提交成功后错误代码将会被更改 执行前  执行后 
公共分支一定要使用这个还原提交,**将当前分支重置到此处…**这个会造成其他人的代码也回退
也可以使用还原提交,使用还原提交时需要选中当前分支,选择将当前分支重置到此处…选中的是前一个提交记录,注意区分,效果是删除错误代码,并将修改的代码存到本地仓库,之后可以重新提交到远程分支,这个不会将别人的代码回退
注意:使用还原提交,使用的其实是git的revert命令,相比 git reset,它不会改变现在的提交历史。因此,git revert 可以用在公共分支上,git reset 应该用在私有分支上。 
以上回退后idea不支持强制提交代码,只能使用命令“git push origin HEAD --force”进行提交,比较麻烦,以下是设置idea支持强制提交

将受保护的分支删除或者修改为其他分支

回滚命令Reset、Checkout、Revert辨析
|