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 ...
随机推荐
- [置顶] 小白学习KM算法详细总结--附上模板题hdu2255
KM算法是基于匈牙利算法求最大或最小权值的完备匹配 关于KM不知道看了多久,每次都不能完全理解,今天花了很久的时间做个总结,归纳以及结合别人的总结给出自己的理解,希望自己以后来看能一目了然,也希望对刚 ...
- The Apache™ Batik Project
Apache(tm) Batik SVG Toolkit - a Java-based toolkit for applications or applets that want to use ima ...
- Perl 5 教程
Perl 5 教程 http://www.cbi.pku.edu.cn/chinese/documents/perl/index.htm
- MongoDB使用手册
一.安装包下载地址 http://www.mongodb.org/downloads 二.服务器端使用 LINUX版本: ①用tar -zxvf mongodb-linux-x86_64-1.2.4. ...
- 基于visual Studio2013解决C语言竞赛题之1031猜数
题目 解决代码及点评 /* 31. 猜号码∶由随机函数产生一个1至1000之间的整数,让人猜之. 计算机仅回答人猜的数大.小还是相等,当人猜对时, 由计算机打印出人 ...
- Tomcat设置成NIO时,使用的线程池
设置成NIO时, <Connector port="8088" protocol="org.apache.coyote.http11.Http11NioProtoc ...
- CSDN-Code平台使用过程中的5点经验教训
昨天又创建了一个项目,fucms,可是本地一直没有权限提交,搞了非常久,试了几十次,都不行,我是非常的灰心和郁闷. 刚刚,和CSDN-Code的官方客服咨询了非常久非常久,最终摸索出来了一些心得体会 ...
- 深入浅出OpenStack云计算平台管理(nova-compute/network)
一.本课程是怎么样的一门课程(全面介绍) 1.1. 课程的背景 OpenStack是 一个由Rackspace发起.全球开发者共同参与的开源项目,旨在打造易于部署 ...
- 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数
题目 解决代码及点评 /************************************************************************/ /* ...
- 九道大型软件公司.net面试题!一定得看(附答案)
1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换 2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组 3:请简述面向 ...