项目中git怎么回退到之前的版本 & git 放弃本地修改,强制拉取更新

举报
知识浅谈 发表于 2022/06/28 22:56:24 2022/06/28
【摘要】 首先怎么本地修改的代码崩了,怎么放弃修改{把修改的代码全覆盖了},拉取远程 开发时,对于本地的项目中修改不做保存操作(或代码改崩),可以用到Git pull的强制覆盖,具体代码如下: 1. git fe...

首先怎么本地修改的代码崩了,怎么放弃修改{把修改的代码全覆盖了},拉取远程
开发时,对于本地的项目中修改不做保存操作(或代码改崩),可以用到Git pull的强制覆盖,具体代码如下:

1. git fetch --all    //git fetch 指令是下载远程仓库最新内容,不做合并 
2. git reset --hard origin/master  //git reset 指令把HEAD指向master最新版本
3. git pull  //可以省略,上边两部之后代码就变成远端的代码了,本地修改的就给你覆盖了

  
 
  • 1
  • 2
  • 3

项目中git怎么回退到之前的版本
两种方法:回退(reset)、反做(revert)。

方法一:git reset
适用场景:如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。
原理: git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本,如下图所示,假设我们要回退到版本一:
在这里插入图片描述
具体操作:

  1. “git log”查看:想要回退到的目标版本号
  2. 使用“git reset –hard 目标版本号”命令将版本回退。
  3. 如果用“git push”会报错,“git push -f” 这个命令的意思是强制推送,因为我们本地的版本是旧版本,远程的是新版本。

方法二 git revert
适用场景:如果我们想恢复之前的某一版本(该版本不是merge类型),但是又不想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。
原理: git revert的作用通过反做创建一个新的版本,这个版本的内容与我们要回退到的目标版本一样,但是HEAD指针是指向这个新生成的版本,而不是目标版本。如下图所示,假设我们要回退到版本一,版本四的内容和版本一是一样的:
在这里插入图片描述

具体操作:
1.查看版本号:git log
2. 使用“git revert -n 版本号”反做,并使用“git commit -m 版本名”提交:
3. git push推送

文章来源: englishcode.blog.csdn.net,作者:知识浅谈,版权归原作者所有,如需转载,请联系作者。

原文链接:englishcode.blog.csdn.net/article/details/120924313

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。