使用ruby检查本地git存储库中是否存在git branch的最佳方法是什么?我的红宝石技能不是那么好,所以想知道最好的方法:)谢谢。
答案 0 :(得分:5)
有用于访问git存储库的ruby库,其中一个是grit。
安装使用[sudo] gem install grit
。
$ irb
>> require 'grit'
=> true
>> repo = Grit::Repo.new('/path/to/your/repo/')
=> #<Grit::Repo "/path/to/your/repo/.git">
>> repo.branches
=> [#<Grit::Head "master">, #<Grit::Head "some-topic-branch">, ...]
答案 1 :(得分:0)
我最终想出了这个:
# Check if a Branch Exists
def branch_exists(branch)
branches = run("git branch",false)
regex = Regexp.new('[\\n\\s\\*]+' + Regexp.escape(branch.to_s) + '\\n')
result = ((branches =~ regex) ? true : false)
return result
end
其中run是反引号表达式。原因是代码是高度可移植的,不允许任何其他依赖。而git安装在环境中。