您的位置:首页 > 其它

记录IDEA回退,远程库未回退问题

2021-01-23 22:17 78 查看

  在使用IDEA的reset时,会出现本地代码虽然回退了,但是远程代码库并未回退到对应的版本。简单说,本地回退了,远程库未回退。这时候我们就需要使用命令行操作方式了。

1、在log上找到要恢复的版本号

  使用git log查看需要恢复到的版本号。拿到git log version版本号。

  git log

git log


2、在客户端执行如下命令(执行前,先将本地代码切换到对应分支)

  git reset --hard version版本号

  

git reset --hard xxx版本号

3、强制push到对应的远程分支(如提交到dev分支)

  git push -f -u origin dev

  git push -f -u origin dev

  注意:现在到服务器上看到的代码就已经被还原回去了。

  这种操作存在两个问题,服务器上的代码虽然被还原了;

  问题1:若有多人在使用同一个库,他们本地的代码版本依然是比服务器上的版本高的。如果别人再重新提交代码的话,你回退(reset)的操作就白操作了。

    解决方法1:让别人把本地的高版本分支先删掉,然后重新从服务器上拉取分支。

  问题2:若有多人在使用同一个库,如果执行了步骤3 '强制push到对应的远程分支'会导致别人已经提交的代码被删除。所以慎用强制push这个命令。。。

    解决方法2:使用另外一种方法,不过我没有遇到。所以先放着到时候补上。当然最好的办法是开发不回退,尽量测试通过了再提交代码。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: