我一直試圖在ruby腳本中使用ruby-git gem進行提交等操作,但是檢查當前狀態的方法總是會引發錯誤。我的理解是,這個代碼雖然沒有太多,但應該是有效的。Ruby-Git g.status總是失敗
#gem install git
require 'rubygems'
require 'git'
g = Git.init
g.status
但它返回:
Git::GitExecuteError: git diff-index "HEAD" 2>&1:fatal: ambiguous argument 'HEAD': >unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
from /Users/X/bin/ruby-ee-1.8.7/lib/ruby/gems/1.8/gems/git-1.2.5/lib/git/lib.rb:700:incommand'
command_lines'
from /Users/X/bin/ruby-ee-1.8.7/lib/ruby/gems/1.8/gems/git-1.2.5/lib/git/lib.rb:672:in
from /Users/X/bin/ruby-ee-1.8.7/lib/ruby/gems/1.8/gems/git-1.2.5/lib/git/lib.rb:287:indiff_index'
construct_status'
from /Users/X/bin/ruby-ee-1.8.7/lib/ruby/gems/1.8/gems/git-1.2.5/lib/git/status.rb:99:in
from /Users/X/bin/ruby-ee-1.8.7/lib/ruby/gems/1.8/gems/git-1.2.5/lib/git/status.rb:8:ininitialize'
new'
from /Users/X/bin/ruby-ee-1.8.7/lib/ruby/gems/1.8/gems/git-1.2.5/lib/git/base.rb:175:in
from /Users/X/bin/ruby-ee-1.8.7/lib/ruby/gems/1.8/gems/git-1.2.5/lib/git/base.rb:175:in `status'
from (irb):5
任何一個是否有如何讓內紅寶石當前的git狀態的例子(使用紅寶石GIT)?
頁我看過:
http://rubygems.org/gems/git
http://git.rubyforge.org/
感謝
的Git.init應使當前目錄中的git回購。所以不知道你爲什麼失敗。但是我正在運行一個包含.git /的文件夾。 – Morgan 2010-06-19 07:53:57
啊,我試過一個預先存在的.git/repo,它工作。一定是因爲Git.init沒有做到我想的那樣。 謝謝 – Morgan 2010-06-19 08:10:48
如果沒有提交,狀態將會非常糟糕。 – Morgan 2010-06-19 08:24:07