git版本号回滚

简介:

先说今天遇到的问题,看到一个config.php的配置文件一直在改动的状态下,可是和远程的config.php是不一致的,我不须要提交它,可是看它在 modified的状态下,非常不爽。想删除它。git   rm  config.php,然后git push了下,结果不仅把本地的config.php干掉了,把远程的config.php也给干掉了,难过,原来这个git rm有这种功效,并且我 删除的不仅仅是这一个文件,还有n个文件。


想到要回滚到近期的一次提交。做这个工作前。提醒下,在本地直接把代码备份一份,要不之后的操作不当。会直接把你的这次改动所有抹杀掉。到时你哭都来不及。除非你对git有相对的把握,深知不论什么 一步操作的意义。了解git的 分支机制。

 回滚分三步:

(1)备份你当前的代码 库一份,不是必须的操作,可是提醒要 做的,当然有能够用git branch backup 把当前的版本号备份到一个新的分支

(2)git log找到要回滚的版本号   

(3)git reset --hard 要回滚到的版本。比方 git reset --hard 91deaf(文件都回来了。包含config.php)

 

 然后git status的时候,可能会提醒你 Your branch is behind 'origin/master' by 2 commits 类似的错误。然后提醒你用git pull先下拉。假设你直接git push是推不了的,
由于远程已经是在你reset后的版本号了,也就是说远程的版本号比你reset的版本号新,你是reset回滚到老版本号的。
 可是你git pull后(我用的是git 

fetch,之后再git merge合并)。又会又一次把远程的最新版本号库覆盖掉本地的老版本号,这样又回到了刚開始的问题。


 假设 你在上述回滚三步之后,假设发现 有问题 ,又一次切换到备份分支,也回到了刚開始的你本地的操作開始的版本号,也就是reset回滚回来的文件又被删除了,比方config.php。这点非常NB。

事实上备份分支也就是你当前最新状态的版本号 。reset后回到了老版本号。

 

那么究竟怎么解决这个问题呢?用了一个非常笨的办法,可是眼下没有找到好的方法。

 

  git reset 后。git  push -f 强推,假设不带參数-f是推不了的。

  推过之后。再把你这次改动的文件一个个加上去。git add ,git  commit ,git push 完成。


思考:或许在用git  reset --soft会解决问题。








本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5128599.html,如需转载请自行联系原作者

相关文章
|
8月前
|
API 开发工具 git
git项目中加入版本号git-revision-webpack-plugin
git项目中加入版本号git-revision-webpack-plugin
|
开发工具 git C++
『实用教程』使用Visual Studio自带的Git管理回滚代码版本
使用Visual Studio自带的Git管理回滚代码版本
1231 0
『实用教程』使用Visual Studio自带的Git管理回滚代码版本
|
23天前
|
Java 开发工具 git
云效产品使用报错问题之流水线获取git版本号后将其设置为环境变量失败如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
2月前
|
开发工具 git
IDEA通过git回滚到某个提交节点或某个版本的操作方法
IDEA通过git回滚到某个提交节点或某个版本的操作方法
39 0
|
9月前
|
存储 缓存 运维
【运维知识高级篇】一篇文章带你搞懂Git!(Git安装+全局配置+Git初始化代码仓库+Git四大区域+Git四种状态+Git常用命令+Git分支+Git测试代码回滚)
【运维知识高级篇】一篇文章带你搞懂Git!(Git安装+全局配置+Git初始化代码仓库+Git四大区域+Git四种状态+Git常用命令+Git分支+Git测试代码回滚)
178 0
|
5月前
|
存储 开发工具 git
(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert
(详解踩坑)GIT版本回滚git stash、git reset、git reset --hard、git revert
76 0
|
6月前
|
开发工具 git
idea回滚git仓库代码
idea回滚git仓库代码
62 0
|
11月前
|
开发工具 git
git命令回滚撤销自己的错误覆盖提交
git命令回滚撤销自己的错误覆盖提交
98 0
|
12月前
|
缓存 Shell 开发工具
研发中学习git(删除分支/合并提交/回滚/保存当前状态/撤销修改)
研发中学习git(删除分支/合并提交/回滚/保存当前状态/撤销修改)
122 0
|
开发工具 git
git 主干master分支回滚到历史版本
1.回滚到指定版本 2.强制推送到远程分支
242 0