代码之家  ›  专栏  ›  技术社区  ›  Marcus

使用git标记和热修复的适当策略

  •  3
  • Marcus  · 技术社区  · 16 年前

    我想知道我在Git中使用的标记和热修复标记(然后我将其用于部署Rails应用程序)的策略是否合适。

    为了标记,我只标记主主干的提交。

    如果发生这种情况,我必须修复标签,我要检查标签(例如1.0),修复问题,提交并重新标记它(例如1.0.1)。 现在,如果我必须对标签做另一个修复,我重复这个过程,使用第一个修补的标签作为第一个签出(例如1.0.1)。

    现在,我注意到两件事: 1。当我签出1.0.1时,我收到一条警告,说我不在分支机构中——我认为这是可以的,但它是否适合作为策略? 2。当我尝试部署1.0.2时,我从远程存储库的代码更新过程中收到来自capistrano(用于部署Rails应用程序的工具)的错误消息,说它找不到对象[commit of 1.0.2]。我可以更正这个问题,签出master并合并1.0.2。

    当然,我总是把标签推到存储库中。

    是否存在任何错误/低效/不适当的情况,或者这是一个适当的策略? 我对Git完全陌生,找不到关于一般使用的部署策略的大量信息。

    2 回复  |  直到 16 年前
        1
  •  3
  •   VonC    16 年前

    从标签1.0中,您需要创建一个分支

     $ git checkout -b hotfix1.0
    

    每次需要进行修复时都可以在上面执行,每次需要部署时都可以在上面执行标记(1.0.1,1.0.2,…)。

    在分离的头上工作不是最佳的,因为稍后可以修剪提交。如果您处于分离的头部并进行了一些修改,则可以始终将它们与给定的分支合并:

     $ git checkout -m hotfix1.0
    

    我不建议为您需要为1.0版本的程序制作的每个热修复程序制作一个分支:一个分支应该足够用于此目的,在这一过程中标记值得发布的重大修改。

        2
  •  3
  •   Tomas Markauskas    16 年前

    我建议这样做:

    为您的 1.0 标签,例如 version-1 并在其中应用修补程序。

    将分支标记为 1.0.1 .

    对于下一个修补程序,您可以使用同一个分支,或者,如果删除了它,可以创建一个新的分支,但这次是从标签 1.0.1 .

    推荐文章