我们在不知情的情况下修改了代码,直接在git上commit并push:
因为提交到我本地的git仓库,所以没有一点问题。实际上别人已经先我提交了好几次:
远程git仓库上最新的版本是b892开头的,而不是我本地仓库的25692开头的。这时我把本地仓库push到远程仓库会发生什么事?大家都知道了:
这时我只有两条路:Merge或者Rebase。我选Rebase,也就是重置为最新代码版本后再提交,因为我改的那一行跟别人改的不冲突,所以直接就push上去了。但这时我又反悔了,不想提交记录被其他人看到:
先去IDEA右击项目 -> Git -> Show History -> 复制我们要回滚的版本号,也就是b892开头的那个版本号:
然后点开IDEA下面的Terminal进入命令行界面 ,只需用两个命令就能抹除记录:
E:workspacewlfwlf-backendwlf-backend-skillwlf-backend-skill-plugin>git reset --hard b8920086df7263b6805c35409434f1d85593ffdc HEAD is now at b892008 删除咪咕9问插件 E:workspacewlfwlf-backendwlf-backend-skillwlf-backend-skill-plugin>git push origin HEAD --force Total 0 (delta 0), reused 0 (delta 0) remote: remote: To create a merge request for dev, visit: remote: https://gitlab.wlf.com:1002/wlf/wlf-cloud/-/merge_requests/new?merge_request%5Bsource_branch%5D=dev remote: To https://gitlab.wlf.com:1002/wlf/wlf-cloud.git + 07b1760...b892008 HEAD -> dev (forced update)
再次查看提交记录,刚才的提交记录已经被抹除,最新的还是b892开头的版本。