git回滚版本

2020-04-09  本文已影响0人  沸腾Shark

一、本地库版本回退:

命令行进行回退

  1. 切换至需要回滚的分支
git checkout <branchName> 
  1. 使用 git log 命令查看前n次提交的commit id:
git log -n

  或者,直接使用git log命令查看所有的commit历史,获得目标回退版本的commit id

  1. 使用 git reset 命令回退到指定的版本
git reset --hard HEAD^  #回退至上一版本

git reset --hard HEAD~n  #回退至前n次的提交之前

git reset --hard commit_id  #回退至指定的commit,包含指定的commit。commit_id就是git log 查看提交历史记录中commit后面的sha码(一串字符)

 接下来,我们就可以看到代码回滚了

使用idea进行回退

  1. version control -> log -> 找到想要回退到的版本,右键 -> reset current branch to here


    image
  2. 选择reset方式为HARD,点击确认


    image

    接下来,我们就可以在idea的 version control log 中看到 head标签&分支标签 移至该commit位置了

 

二、远程库版本回退:

  1. 远程库还未建立与本地该分支对应的分支,则直接创建并从本地库分支git push即可
    git push --set-upstream <远程库> <远程分支名>   # 这条命令即可完成创建远程新分支+push

 这里插个题外话,如果要把远程库新分支的代码拉到本地,但是本地还没有对应的分支,可以使用以下命令完成pull+新建本地分支:

    git pull <远程库>  <远程库分支>:<本地库新分支>

2、远程库已建立与本地该分支对应的分支,则直接push代码即可

    git push

 使用这个命令后,会不成功,terminal报错:


image

 原因是因为远程分支的代码和本地分支代码(已回退)不一致,且这个时候不要根据git的提示进行git pull,因为远程分支的代码是包含了会退后的本地分支代码,如果使用git pull会直接将远程代码拉到本地,就白回滚了,这个时候我们直接使用强制push即可:

    git push -f
上一篇 下一篇

猜你喜欢

热点阅读