在Git中添加回顾性标签?

时间:2012-02-07 11:08:39

标签: git github

与此处的一些SVN迁移问题不同,我正在从“我机器上的一堆文件夹”中进行Git迁移到源代码控制(或者缺少它;我是QA工程师,开发团队不时给我发一个拉链文件,不要笑得太厉害了.. :)。

我已经提交了最新的代码,但我也有一堆'标签',即我在部署到生产后立即将项目的副本放到一个单独的根文件夹中。

现在问题是这些标记文件夹的内容不一定是一致的格式(每个标记内的文件夹可能以各种内部版本号命名,并且它们具有二进制文件的备份但是随着时间的推移而改变的格式等)

所有看起来都像这样(有点简化):

DuckProject
  DuckProject 1.2
    R1
    R2
    R3    
  DuckProject 1.3
    R1
    R2
  DuckProject 1.4
    R1
    R2
    R3  <- copied elsewhere as '../GitHub/DuckProject' and uploaded to GitHub

  Tags
    DuckProject 1.2 tag  <- want to upload and mark as a tag
      R3
      R3_BINARY.TAR
    DuckProject 1.3 tag  <- want to upload and mark as a tag
      R2
      archived_binaries
        r2_debugbinary.zip
        r2_releasebinary.zip

所以基本上我想将1.2标签和1.3标签文件夹上传到GitHub,但是并不真正关心跟踪标签版本之间的变化,甚至是相对于HEAD的变化。但是我确实关注跟踪1.4 R3以后的变化,最终是'1.4 R7'或者需要标记的任何东西,理想情况是与'回顾'标签的合理一致。

所以(记住我随着时间的推移选择了所有这些!)用Git做到这一点的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以将它们创建为没有父级的提交,然后使用git tag标记它们。这与使用git tag创建的新版本上的标记一致。

要创建一个没有父标签的提交,标记指向它,请执行以下操作:

  1. 创建没有父级的临时分支

    git checkout --orphan tmp
    
  2. 将文件从存档提交到临时分支(在执行此操作之前,您似乎必须使用git rm -f在上一个分支之后进行清理)

  3. 标记提交

    git tag v1.2
    
  4. 返回master分支

    git checkout master
    
  5. 删除临时分支

    git branch -D tmp
    
相关问题