如何:Git嵌套版本/问题/标签

时间:2015-07-27 19:57:09

标签: git version-control

我的问题围绕着开发流程以及如何保持分支/子分支,问题和发布的组织。

我从SO中读到了以下答案:

confused about creating nested branches in git

How is a tag different from a branch? Which should I use, here?

但我仍然不知道组织项目的最佳方式是什么。例如:

如果我们正在处理三个问题:

  1. iss43(分支机构) - 修复横幅错误
  2. iss37(分支机构) - 修复结帐工作流程
  3. iss50(分支) - 改进滚动条
  4. 这三个分支都以问题命名,并计划发布v1.2.3

    此外,我们正在处理另外两个问题,其中包含以下问题/分支:

    1. iss20(分支机构) - 修复付款整合
    2. iss55(分支) - UI改进
    3. 这些分组为发行版v1.2.4

      现在的结构是:

      Master
        -> iss43 (part of 1.2.3)
        -> iss37 (part of 1.2.3)
        -> iss50 (part of 1.2.3)
        -> iss20 (part of 1.2.4)
        -> iss55 (part of 1.2.4)
      

      但是,如果将项目组织为:

      ,那将更有意义
      Master
      -> v1.2.3
         -> iss43
         -> iss37
         -> iss50
      -> v1.2.4
         -> iss20
         -> iss55
      

      由于Git没有分支嵌套,发布版本应该是分支/标记吗? 即。

      git checkout master git branch release_v1.2.3 git checkout -b release_v1.2.3 v1.2.3 git branch iss43 git checkout iss43

      哪会:

      Master
          -> release_v1.2.3 (with tag v1.2.3)
            -> iss43 (issue branch)
            -> iss37 (issue branch)
            -> iss50 (issue branch)
      

      这是否有意义或是否有更简单的方法来跟踪中小型项目?

      感谢。

1 个答案:

答案 0 :(得分:0)

你第一次做对了,你的第二种方法不合适。

在软件开发中(另外在git中),您可以开发功能并在发布时标记 。您的路线图中针对特定版本安排的某些功能可能需要更多时间,最终会在下一个版本中结束(反之亦然)

事实上,你应该有类似的东西:

git branch -v

master
fix/iss43
fix/iss37
fix/iss50
fix/iss20
fix/iss55

当你将一个修复/ *分支合并回master并决定发布时,你只会对标记(发布)感到烦恼。

查看以下分支模型:git flowgithub worklow(您可能会在Google上找到更好的英文资源)。