0
檢查git分支是否存在於使用ruby的本地git倉庫中的最佳方法是什麼?我的紅寶石技能不是很好,所以想知道最好的方法去做:)謝謝。用ruby檢查本地存儲庫中是否存在git分支?
檢查git分支是否存在於使用ruby的本地git倉庫中的最佳方法是什麼?我的紅寶石技能不是很好,所以想知道最好的方法去做:)謝謝。用ruby檢查本地存儲庫中是否存在git分支?
最後我想出這樣的:
# 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
其中行程是反引號的表達。理由是該代碼具有高度的可移植性,並且不允許任何其他依賴項。而git安裝在環境中。
有一些用於訪問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">, ...]