如何使用Git签出SVN标签?

时间:2015-02-25 17:23:50

标签: git svn

我看到很多关于如何同步git分支和SVN分支的信息,但我不知道如何在git中查看SVN标记。

我原本希望能在SVN中维持一个demo分支,随时准备进行计划外的客户演示。今天早上我发现很难从主人那里反复合并到demo分支工作。 (请参阅https://stackoverflow.com/a/14173021/2596664。)我决定尝试使用svn copy来创建名为demo1demo2等的代码。现在我不知道如何从git访问这些标签。我告诉git我使用了标准SVN布局,但找不到有关如何访问SVN的tags部分的任何信息。我该如何访问它?如果有更好的方法来满足我对SVN的demo分支的要求,该分支随时可用于计划外的客户演示,"我很乐意听到它。

1 个答案:

答案 0 :(得分:2)

git-svn会将SVN标签转换为Git标签,只要你给它正确的标签目录。通常这是用git svn init --tags=project/tags完成的(假设您的项目是这样布局的)。然后SVN标签将作为git标签提供。有various options to git svn init来描述您的SVN存储库布局。如果没有正确设置,事情就不会起作用。

您可以使用git svn tag tagname从git端在SVN中创建标记。

您可以在.git/config中查看git-svn对您的SVN存储库布局的看法。寻找这样的东西:

[svn-remote "project-a"]
    url = http://server.org/svn
    fetch = trunk/project-a:refs/remotes/project-a/trunk
    branches = branches/*/project-a:refs/remotes/project-a/branches/*
    tags = tags/*/project-a:refs/remotes/project-a/tags/*