2012-02-07 71 views
1

因此,与此处的一些SVN迁移问题不同,我正在从'我的机器上的一堆文件夹'类型的源代码管理(或缺少这些文件夹)迁移到Git;我是QA工程师,开发团队发送我每隔一次又一次压缩一个zip文件,别笑得太难...... :)。在Git中添加回溯标签?

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

现在事情是这些标记文件夹的内容不一定是一致的格式(每个标记内的文件夹可能用不同的内部版本号命名,并且它们具有二进制文件的备份,但是这些文件的格式已经改变时间等)

一切看起来有点像这样(有些简化):

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

您可以创建它们作为没有父项的提交,然后使用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