本地仓库代码提交后回退
提交到本地仓库后
点击提交后会保存在本地仓库
本地仓库的回撤
-
找到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辨析
|