先说今天遇到的问题,看到一个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会解决问题。

git版本号回滚的更多相关文章

  1. Git如何回滚代码?

    摘要: 多年以后,你面对一个需要回滚的Git仓库,准会想起这篇博客. 某一天,用户跟我反馈,他不能分配任务了.我去看了一下Fundebug捕获的报错信息: 可知,出错原因是前端发送的请求参数有问题.这 ...

  2. git代码回滚的两种选择

    回滚到指定commit,且保持该commit之前和之后的提交记录 使用git revert命令. git revert HEAD // 回滚到前一次 commit git revert HEAD^ / ...

  3. git如何回滚当前修改的内容?

    git如何回滚当前修改的内容? 1.打开git gui,在工具栏上点击 commit ,选择 Revert Changes,  这里可以回滚单个文件: 2.一键回滚所有修改: 打开git gui,在工 ...

  4. 6.Git代码回滚

    1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloW ...

  5. git版本回滚

    本地版本回滚 git reset --hard <版本号> (git log 可查看版本号,版本号不用写全) 远程仓库版本回滚 先在本地将版本回滚 ,然后git push -f 强制提交

  6. git的回滚与撤销【reset and revert】

    git的工作流程-- 3个区域 工作区:我们可以看到的文件内容 在操作 git add 之前的!! 缓存区:是不可见的  已经git add操作,还没git commit -m "" ...

  7. git代码回滚:Reset、Checkout、Revert的选择

    代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Ho ...

  8. git 版本回滚

    1.克隆代码到本地 git clone http://qtools@dev.qtoolsbaby.cn:81/gitlab/qtools/jenkins_ceshi.git 2.git log 查看所 ...

  9. Git撤销&回滚操作

    https://blog.csdn.net/ligang2585116/article/details/71094887 开发过程中,你肯定会遇到这样的场景: 场景一: 糟了,我刚把不想要的代码,co ...

随机推荐

  1. 【Apache ZooKeeper】理解ZooKeeper中的ZNodes

    理解ZooKeeper中的ZNodes 翻译自:http://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html ZooKeeper中的 ...

  2. POJ 2112 Optimal Milking (二分+最短路径+网络流)

    POJ  2112 Optimal Milking (二分+最短路径+网络流) Optimal Milking Time Limit: 2000MS   Memory Limit: 30000K To ...

  3. SAP 金税接口介绍

    一.金税发票与SAP系统发票的税额差异分析 1.1 金税系统中的税额说明 国内企业销售产品给国内客户时,正常产品须要缴纳17%的增值税,而金税(Golden Tax)系统就是用来出具纸面的增值税发票的 ...

  4. android的四种加载模式

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. An ...

  5. MVC与WebForm的简单的比较

    MVC与WebForm的简单的比较 ASP 强制程序员将业务逻辑和展示页放到一个文件中 WebForm 允许程序员将业务逻辑与页面展示分开到不同的文件中,并且提供强大的开发平台来写  业务逻辑代码  ...

  6. Windows Services的1053错误的解决办法之一:修改注册表允许的响应时间

    Error: 'The service did not respond in a timely fashion' (ServicesPipeTimeout) when attempting when ...

  7. Maven+Eclipse+Spring MVC简单实例

    1. ToolsVersion and Preparations: Eclipse: 3.5 (eclipse-jee-galileo-win32) Maven: 2.0.11 Spring MVC ...

  8. 【剑指offer】从上向下打印二叉树

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/26089165 剑指offer上的第23题,实际上就是考察二叉树的层序遍历,详细思想能够參考 ...

  9. 操作系统的页面置换C++算法:OPT FIFO LRU CLOCK 计算缺页率

    暴力直接上代码,主要是用了vector来实现,有些方法比較费时,不太好,请各位大神斧正.这是个人的作业,  这是代码下载页http://download.csdn.net/detail/l631068 ...

  10. [Java][activiti]Activiti这个过程委托功能[getAssignee()与getOwner()差异]

    一.流程图: 二.流程定义文件: AssigneeUserAndGroup.bpmn 三.单元測试: ProcessTestDelegateTask.java 四.主要运行语句 // 签收 taskS ...