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会解决问题。
git版本号回滚的更多相关文章
- Git如何回滚代码?
摘要: 多年以后,你面对一个需要回滚的Git仓库,准会想起这篇博客. 某一天,用户跟我反馈,他不能分配任务了.我去看了一下Fundebug捕获的报错信息: 可知,出错原因是前端发送的请求参数有问题.这 ...
- git代码回滚的两种选择
回滚到指定commit,且保持该commit之前和之后的提交记录 使用git revert命令. git revert HEAD // 回滚到前一次 commit git revert HEAD^ / ...
- git如何回滚当前修改的内容?
git如何回滚当前修改的内容? 1.打开git gui,在工具栏上点击 commit ,选择 Revert Changes, 这里可以回滚单个文件: 2.一键回滚所有修改: 打开git gui,在工 ...
- 6.Git代码回滚
1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloW ...
- git版本回滚
本地版本回滚 git reset --hard <版本号> (git log 可查看版本号,版本号不用写全) 远程仓库版本回滚 先在本地将版本回滚 ,然后git push -f 强制提交
- git的回滚与撤销【reset and revert】
git的工作流程-- 3个区域 工作区:我们可以看到的文件内容 在操作 git add 之前的!! 缓存区:是不可见的 已经git add操作,还没git commit -m "" ...
- git代码回滚:Reset、Checkout、Revert的选择
代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Ho ...
- git 版本回滚
1.克隆代码到本地 git clone http://qtools@dev.qtoolsbaby.cn:81/gitlab/qtools/jenkins_ceshi.git 2.git log 查看所 ...
- Git撤销&回滚操作
https://blog.csdn.net/ligang2585116/article/details/71094887 开发过程中,你肯定会遇到这样的场景: 场景一: 糟了,我刚把不想要的代码,co ...
随机推荐
- 【Apache ZooKeeper】理解ZooKeeper中的ZNodes
理解ZooKeeper中的ZNodes 翻译自:http://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html ZooKeeper中的 ...
- POJ 2112 Optimal Milking (二分+最短路径+网络流)
POJ 2112 Optimal Milking (二分+最短路径+网络流) Optimal Milking Time Limit: 2000MS Memory Limit: 30000K To ...
- SAP 金税接口介绍
一.金税发票与SAP系统发票的税额差异分析 1.1 金税系统中的税额说明 国内企业销售产品给国内客户时,正常产品须要缴纳17%的增值税,而金税(Golden Tax)系统就是用来出具纸面的增值税发票的 ...
- android的四种加载模式
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. An ...
- MVC与WebForm的简单的比较
MVC与WebForm的简单的比较 ASP 强制程序员将业务逻辑和展示页放到一个文件中 WebForm 允许程序员将业务逻辑与页面展示分开到不同的文件中,并且提供强大的开发平台来写 业务逻辑代码 ...
- Windows Services的1053错误的解决办法之一:修改注册表允许的响应时间
Error: 'The service did not respond in a timely fashion' (ServicesPipeTimeout) when attempting when ...
- Maven+Eclipse+Spring MVC简单实例
1. ToolsVersion and Preparations: Eclipse: 3.5 (eclipse-jee-galileo-win32) Maven: 2.0.11 Spring MVC ...
- 【剑指offer】从上向下打印二叉树
转载请注明出处:http://blog.csdn.net/ns_code/article/details/26089165 剑指offer上的第23题,实际上就是考察二叉树的层序遍历,详细思想能够參考 ...
- 操作系统的页面置换C++算法:OPT FIFO LRU CLOCK 计算缺页率
暴力直接上代码,主要是用了vector来实现,有些方法比較费时,不太好,请各位大神斧正.这是个人的作业, 这是代码下载页http://download.csdn.net/detail/l631068 ...
- [Java][activiti]Activiti这个过程委托功能[getAssignee()与getOwner()差异]
一.流程图: 二.流程定义文件: AssigneeUserAndGroup.bpmn 三.单元測试: ProcessTestDelegateTask.java 四.主要运行语句 // 签收 taskS ...