小编bry*_*mcd的帖子

git如何找到分支源自的提交哈希

假装我从我的主分支分支到主题分支,然后我在我的主题分支上做了一些提交.是否有一个命令告诉我主分支上的提交哈希来自我的主题分支?

理想情况下,我不必知道我做了多少次提交(试图避免使用HEAD ^ 5).

我用谷歌搜索过,似乎无法找到答案.谢谢!

git git-branch

51
推荐指数
3
解决办法
2万
查看次数

在rails中一次更新多个记录

在我正在构建的rails 2应用程序中,我需要更新具有特定属性的记录集合.我有一个命名范围来查找集合,但我必须迭代每个记录以更新属性.我不必进行一次查询来更新数千条记录,而是要进行数千次查询.

到目前为止我发现的是类似的东西 Model.find_by_sql("UPDATE products ...)

这感觉真的很年轻,但我用Google搜索并环顾四周并没有找到答案.

为清楚起见,我所拥有的是:

ps = Product.last_day_of_freshness
ps.each { |p| p.update_attributes(:stale => true) }
Run Code Online (Sandbox Code Playgroud)

我想要的是:

Product.last_day_of_freshness.update_attributes(:stale => true)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

26
推荐指数
3
解决办法
3万
查看次数

将数组的元素作为方法调用的参数发送

我有一个接受splat运算符的方法:

def hello(foo, *bar)   
   #... do some stuff 
end
Run Code Online (Sandbox Code Playgroud)

我有一个可变长度的数组,我想发送到这个hello方法:

arr1 = ['baz', 'stuff']
arr2 = ['ding', 'dong', 'dang']
Run Code Online (Sandbox Code Playgroud)

我想用arr1和arr2作为该方法的参数来调用该方法,但我不断被挂起,因为*bar被解释为数组而不是单个参数.为了让事情更有趣,我根本无法更改hello方法.

我正在寻找类似于这个问题但在红宝石中的东西.

ruby ruby-on-rails

11
推荐指数
2
解决办法
7478
查看次数

录像机没有录像带

我有一个非常简单的module我正在使用VCR gem测试Ruby.

我根据文档配置了录像机,但似乎无法在录像带目录中录制录像带.我甚至将盒式磁带目录的权限更改为777以防万一.真奇怪的是,我已经完全删除了磁带目录,运行规范,然后创建了一个新的磁带目录.

我正在使用Typhoeus0.4.2 Hydra.我此刻无法升级Typhoeus.

相关代码:

require 'rspec'                                                                     
require 'vcr'                                                                       
require_relative File.join("..", "crawl_handler")                                   

VCR.configure do |c|                                                                
  c.cassette_library_dir = "spec/vcr_cassettes"                                     
  c.hook_into :fakeweb                                                              
  c.allow_http_connections_when_no_cassette = false                                 
end

... # => other describe statements
 describe "#handle_http_response" do                                               
    before(:each) do                                                                
      get_some_response = lambda {                                                  
        # NOTE: typhoeus v. 0.5 is MUCH less setup :)                               
        VCR.use_cassette("bme") do                                                  
          request = Typhoeus::Request.new("www.bing.com")                           
          hydra = Typhoeus::Hydra.new                                               
          hydra.queue(request)                                                      
          hydra.run                                                                 
          response = request.response                                               
        end                                                                         
      }                                                                             
      @message = @subject.handle_http_response("www.bing.com", get_some_response.call)    
    end                                                                             

    it "returns a message hash" …
Run Code Online (Sandbox Code Playgroud)

ruby vcr

11
推荐指数
1
解决办法
5836
查看次数

Git repo错误消息,它不是一个回购......但确实如此

我有一个我去年在同一个盒子上使用的git repo.今天我运行git status并收到错误消息:

fatal: Not a git repository (or any parent up to mount parent /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Run Code Online (Sandbox Code Playgroud)

我有一个.git目录,它填充了我为该repo提供的数千次提交.我不想重新初始化回购,因为担心它会覆盖历史.我也不是真的想从github重新拉出它,因为我已经在分支机构中隐藏了一些变化,我有一段时间没有推到GH.

编辑:

我有理由相信这不是我的环境.其他git回购工作正常

git

8
推荐指数
1
解决办法
2万
查看次数

撤消意外的git合并而不回退历史

我做了一些愚蠢的事情,并意外地将一个主题分支合并到我的主分支中,然后将其推送到github(其他人已经拉过).为了确保这是一个完全愚蠢的错误,我把它拉到我的生产服务器上.

在适当的时间内,我已经垂头丧气,现在我需要弄清楚如何在推进提交历史的同时有效地回滚代码提交.

为了让我的生产代码得到正确的结账,我跑了git checkout hashoflettersandnumbers,这就是我想要生产HEAD的提交.

我运行git reset hashoflettersandnumbers然后git clean以从该提交中删除更改,但我似乎无法将该代码作为主分支的HEAD并进行新的提交.

git

6
推荐指数
1
解决办法
612
查看次数

标签 统计

git ×3

ruby ×2

ruby-on-rails ×2

git-branch ×1

vcr ×1