2012-03-16 76 views
2

我想通過沙礫在我的git倉庫中創建一個標籤,但我不確定該庫是否支持引用標籤。很容易創建這樣的標籤:用沙礫創建標籤

Grit::Tag.create_tag_object(repo, params, actor) 

但是,這隻會創建一個輕量級標籤。爲了有一個參考的標籤,我需要建立一個裁判的標籤還可以,但update_ref實施看起來是這樣的:

def update_ref(head, commit_sha) 
    return nil if !commit_sha || (commit_sha.size != 40) 
    self.git.fs_write("refs/heads/#{head}", commit_sha) 
    commit_sha 
end 

...這意味着我只能創建頭裁判,而不是一個標籤參考。 Ref或Tag類中沒有任何內容可以執行任何操作。

有沒有人有關於如何創建一個提交通過砂礫的參考?

回答

3

我創建了一個新的標籤鏈接到一個承諾如下:

log = @repo.git.tag({ 'f' => true }, tag_name, commit_sha) 

,並得到:

Updated tag 'new_tag' (was 0000000) 
$ git tag 
... 
new_tag 
... 
$ git show new_tag 
commit e74b99a0ff706993e200939ee00079182f75ec29 
... 
0

我對沙粒瞭解不多(實際上沒有)。我會在普通的git中製作一個標籤。然後找到它在.git文件夾中的位置。現在搜索沙礫源代碼以查找該路徑的用法。它應該引導你選擇可以使用的東西。