项目中git怎么回退到之前的版本 & git 放弃本地修改,强制拉取更新
首先怎么本地修改的代码崩了,怎么放弃修改{把修改的代码全覆盖了},拉取远程
开发时,对于本地的项目中修改不做保存操作(或代码改崩),可以用到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指向的位置改变为之前存在的某个版本,如下图所示,假设我们要回退到版本一:
具体操作:
- “git log”查看:想要回退到的目标版本号
- 使用“git reset –hard 目标版本号”命令将版本回退。
- 如果用“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
- 点赞
- 收藏
- 关注作者
评论(0)