git - 在 Git 中管理发布分支

标签 git release

所以我第一次使用git,有一个场景我不太知道如何解决。

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

我所做的是创建一个 releases 分支。该分支包括前面提到的 .gitattributes,以及修改后的 html 页面。每次我想要新版本时,我都会切换到这个分支, merge 来自 master 的更改,然后完成发布并用版本号标记它。它似乎按我的意愿工作,但我不确定这应该如何完成。

对于更有经验的 git 用户,我的问题是通常如何处理这种情况?

最佳答案

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

发布管理的问题是:

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

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

关于git - 在 Git 中管理发布分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3139029/

相关文章:

Objective-C 设置nil和释放的区别

ios - Flutter ios 构建失败 - Distill 因未知原因失败

jQuery悬停 - 按钮保持悬停效果

java - 如何在每次提交/推送之前运行我的 Spring 测试?

git - 标记提交消息和变更集

git - 如何git忽略以#号开头的文件夹

没有 checkout 的 Git pull?

.net - 在我的析构函数中释放 Excel 对象

ios - React Native Ios发行版应用程序卡在白屏上,一段时间后崩溃,而在正常构建中完美运行

带有来自 Visual Studio Online 的个人访问 token 的 Git 扩展