在Git中管理发布分支

时间:2010-06-29 08:31:45

标签: git release

所以我第一次使用git,并且有一种情况我不太清楚如何解决。

我有一个简单的webapp(只有html,css和js),我想生成可以用版本号跟踪的常规版本。使用git tag很容易做到这一点。但问题是,对于我的发布,我想做一些额外的事情,比如缩小js脚本并更新html页面以指向它们。此外,我在发行版中需要一个忽略非缩小的js脚本的.gitattribute,以便git archive产生尽可能小的输出。

我所做的是创建一个releases分支。该分支包括前面提到的.gitattributes和修改后的html页面。每次我想要新版本时,我都会切换到这个分支,合并master中的更改,然后完成发布并用版本号标记它。它看起来像我想要的那样工作,但我不确定这是怎么做的。

我对更有经验的git用户的问题是这个案例通常是如何处理的?

1 个答案:

答案 0 :(得分:4)

分支解决方案是一个很好的解决方案,但是对于发布管理,您还可以简单地将“发布”存储在外部存储库中(例如,例如Maven或另一个声明为子模块的Git存储库)

发布管理的事情是:

  • 您不需要每个文件的详细历史记录(因为这些文件来自源文件 build
  • 你需要那些“发布”文件像缩小的js一样“打包”。

出于这些原因(构建和包装),您没有必要将它们保存在与用于源的回购相同的回购中(具有详细历史记录和多个分支)。
您根本不会以与源相同的速度生成发行版本:开发生命周期与发行版本完全不同。