在Git中管理发布分支

Mar*_*o F 5 git release

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

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

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

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

Von*_*onC 4

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

发布管理的要点是:

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

由于这些原因(构建和打包),您不必将它们与用于源的存储库(具有详细的历史记录和多个分支)保存在同一个存储库中。
您生成发布版本的速度与生成源版本的速度不同:开发生命周期与发布生命周期完全不同。