git -push -f 强推后,别人提交的代码被覆盖的问题解决

问题描述

今天在提交代码时,因为merge了错误的代码导致我本地代码出现了错误
在这里插入图片描述
所以我直接 git reset --hard 到了 “修改引擎”的这一个提交,然后用了git -push -f;但是原本同事的下面这几个提交都被我强制推送的提交覆盖掉了。在gitlab的仓库中的提交信息中,还找不到之前同事提交的版本
在这里插入图片描述
在这里插入图片描述


原因分析:

因为我回退到了我merge之前的提交,所以同事之前更改的代码并没有merge到我的新代码中,这样我强制push后,就导致了同事之前的代码被覆盖。


解决方案:

① 点击gitlab仓库的项目信息中的动态,找到之前同事提交的版本号
在这里插入图片描述
② 在git 中 git reset --hard 8af2xxxx 版本回退到同事提交的版本
③ 因为你之前强推了你的版本,所以此时你要将你的版本从远端拉下来merge到你的代码中
④ 然后再次push你当前的代码到远端仓库中

至此问题解决~

猜你喜欢

转载自blog.csdn.net/bradyM/article/details/129588527
今日推荐