git如何回滚到前几次的提交_git回滚上一次的提交
比如在一个项目中,第一次提交我新建了test1文件,第二次提交我新建了test2文件,并且这两次提交都推送到了远程仓库,要如何操作才能恢复到最初的状态,就是没有test1和test2文件的状态。用命令如何操作?
1、找到第一次提交(即没有新建test1文件之前)的提交哈希值,比如是(abc1234 )
2、重置本地分支到初始状态
git reset --hard abc1234
–hard 选项会删除工作区和暂存区的所有更改。
3、删除远程仓库的后续提交
git push -f origin master
-f 表示强制推送,需谨慎使用,可能会覆盖他人提交。
用sourcetree操作
1、找到找到第一次提交(即没有新建test1文件之前)的提交记录,右键选择’将xxx重置到这次提交‘,在弹出框中选择“强行合并-丢弃所有工作副本改动”,有的是显示’硬重置’都是一样的,这个时候会显示拉取代码,这个不要管,在用命令git push -f origin master,回车之后就可以了,也不会有提示拉取代码的提示
用vscode操作
1、点击左侧活动栏的源代码管理图标(或按 Ctrl+Shift+G)
2、在commits中,有的显示大写COMMITS
3、找到找到第一次提交(即没有新建test1文件之前)的提交记录,右键选择’’将xxx重置到这次提交‘,
4、在弹出框选择硬重置
选择完了之后会显示拉取代码,如下图状态
这个时候不用管,用命令git push -f origin master,回车之后就可以了,也不会有提示拉取代码的提示