2017-08-02 34 views
1

我正在使用回購工具來管理多個存儲庫。回購工具無法根據標籤拉動

這是我的示例清單文件,我在我的修訂版中給了一個標籤名 - 'firsttag'。

當我做了回購同步,它說 -

Fetching project repo1 
fatal: Couldn't find remote ref refs/heads/firsttag 
<?xml version="1.0" encoding="UTF-8"?> 

xml文件

<!-- <default revision="refs/heads/master" --> 
    <default revision='firsttag' 
      remote="github" 
      sync-j="4" /> 

    <project name="repo1" remote="github" path="repo1"/> 
    <project name="repo2" remote="github" path="repo2"/> 

</manifest> 

回答

1

revision="firsttag"revision="refs/heads/firsttag"指分支機構。對於一個標籤,它應該是revision="refs/tags/firsttag"

如果您使用的是Gerrit,您會看到類似refs/changes/33/44433/1的裁判。如果你想使用這個參考,它應該是revision="refs/changes/33/44433/1"

對於特定項目,如果您知道提交,則可以同時使用revisionupstream。當你想要一箇舊的分支提交時,它非常有用。請注意,項目中的revision將覆蓋default中的一個。

<project name="repo1" remote="github" path="repo1" 
     revision="3b9211fe8c87bf424c2bf128b1dec572375b318f" 
     upstream="somebranch"/> 

這是repo manifest -r的輸出。 upstream可以是標籤或任何參考。

只有在值爲參考名稱時纔可以使用revision

<project name="repo1" remote="github" path="repo1" 
     revision="refs/tags/secondtag"/> 
+0

謝謝,標籤的作品,但當它克隆回購,它不列出任何分支。它說「目前不在任何分支」 – user1050619

+0

@ user1050619它作爲設計工作。 'git branch -a'應該列出所有的追蹤分支。這有點像'git checkout ',它將處於分離的HEAD狀態。 – ElpieKay

+0

謝謝。如何從分離的HEAD狀態指向標籤的HEAD更改? – user1050619