git已merge到master分支代码如何回退(多人共同合并)
master分支自己开发的需求branch_a已经合并push,但是代码出现错误或者暂时不需要上线,此时同事A,与B 都在这之后提交了代码,怎么办。(master分支受保护不能回退,即使可以回退也需要联系已合并分支代码的同事重新合并,比较麻烦且容易出错)。楼主这边合并的代码涉及到第三方一起上线,因为比较紧急的回滚,所幸改动不大,就重新new分支,把改动的部分先剔除掉重新上线。回过头来找解决方案。
git revert a6d1c4b5(回退版本的commitid 一般输前5位即可)

该命令是剔除非合并分支代码的commit,如果是 合并提交 的commit 需使用下面这条。(什么是合并分支 合并分支即为合并某个分支后在master生成的commit)
git revert -m 1 a6d1c4b5(回退版本的commitid 一般输前5位即可)
-m 后面一般填1 即可,1 代表merge前master分支代码的最后一次快照。2代表merge分支的上一次commit快照。git revert 做的是剔除哪俩个commit版本之间的改动,当然是回到merge前的最后一次快照。如果还不懂,可看这篇点这里
// 获取当前 合并提交 commit的父分支
git cat-file -p [MERGE_COMMIT_ID]将按顺序显示父分支。列出的第一个-m 1是第二个-m 2。
使用 git revert 命令重新提交剔除后的代码,可是开发的需求还在commit2上面,这个时候在合并之前的分支会提示没有更改的东西,因为之前的commit已经提交过了。这个时候怎么办呢 revert revert的commitId即可
git revert commit5(图内的第五次提交)
git reset --hard a6d1c4b5(回退版本的commitid 一般输前5位即可)
// 强制提交
git push -f
该命令会将本地分支代码回退到指定的commitId ,然后需要强制重新提交。适用于快速回退的那种情况
详细可以了解 git撤销已push的代码
楼主拿下图举例,如果commit3和commit4都是提交的错误代码 直接
git reset --hard commit2Id 本地分支代码就会回到commit2的版本。
之后 git push -f 强制提交就可以了。不过这样做的话commit3和commit4提交的代码就会丢失。做之前先备份一次分支。

本命令适用于自己一个人开发或者目前只有自己提交代码的分支(如果是master分支,不能 git push -f 强制提交,如果已经提交到master分支且不能强制提交的情况不适用)
git reset --soft a6d1c4b5(回退版本的commitid 一般输前5位即可)
**该命令适用于还没有提交到远端分支的情况。**在提交代码的时候,commit之后,然后我又在工作区添加了东西,这时候突然发现,上一次的commit有错误的文件,需要重新修改,但是我添加的东西又不想丢失,而且我想修改上一次的提交,这时候可进行git reset --soft 版本号

如图所示,git reset --soft commit2 后,commit3和commit4代码还会在本地,只是撤销了commit,最终再提交就变成commit5。这个命令不会丢失代码。但是如果代码已经合并到远程分支就需要用到git pull(解决冲突后提交)或者git push -f 强制提交。
希望本文可以帮到你。
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack