我使用AWS进行主机托管,这意味着我无法使用环境变量来控制我的生产和分段部署。因此,我被迫使用单独的分支进行部署,并且想知道是否有最佳实践方法来维护它们?
如果我将更改合并到生产分支中,则包含生产设置的提交将在分支历史记录中丢失,使得调整这些设置更加困难。
然而,我已经阅读过,在这种情况下不应该使用rebase,因为它会使回滚更加困难。
我使用AWS进行主机托管,这意味着我无法使用环境变量来控制我的生产和分段部署。因此,我被迫使用单独的分支进行部署,并且想知道是否有最佳实践方法来维护它们?
如果我将更改合并到生产分支中,则包含生产设置的提交将在分支历史记录中丢失,使得调整这些设置更加困难。
然而,我已经阅读过,在这种情况下不应该使用rebase,因为它会使回滚更加困难。
功能分支:功能分支(有时称为主题分支)用于开发即将发布或远期发布的新功能。
可能从以下分支分支出: develop
必须合并回: develop
分支命名约定: 除了master、develop、release-或hotfix-之外的任何内容
发布分支:发布分支支持准备新的生产发布。它们允许在最后一刻进行微调。
可能从以下分支分支出: develop
必须合并回: develop和master
分支命名约定: release-*
热修复分支:热修复分支与发布分支非常相似,因为它们也旨在为新的生产发布做准备,尽管是不计划的。它们起源于立即处理现场生产版本的不良状态的必要性。
可能从以下分支分支出: master
必须合并回: develop和master
分支命名约定: hotfix-*
您可以从博客中了解有关此Git分支模型的更多详细信息。用于分支模型的命令也在博客中列出。查看博客以获取更多详细信息。我在我的项目中成功实现了分支模型,并对博客中提到的模型进行了一些更改。Git是一个强大而灵活的工具,这只是使用Git的一种方式。
master
上,版本化两个设置文件(settings_master
和settings_prod
)以及一个符号链接settings -> settings_master
。现在,从master
分支中分离出prod
分支(如果已经存在,则合并master
到prod
中),并且在prod
中,仅修改符号链接settings
以指向settings_prod
。prod
中。master
上进行所有开发工作,并且只要您不修改符号链接本身(更改任何一个设置文件都可以),您就可以随时将master
合并到prod
中,而不会影响settings
的目标。您的应用程序应从settings
中检索其配置。... -o---o---o---o master
\ \ \
... --o-------o---o prod
master
合并到prod
后,从master
到prod
的差异总是精确地:--- a/settings
+++ b/settings
@@ -1 +1 @@
-settings_master
\ No newline at end of file
+settings_prod
\ No newline at end of file
elasticbeanstalk/hook
”脚本在“git aws.push
”之后为您编写实际的设置文件。/opt/elasticbeanstalk/hooks/configdeploy/enact/myscript.sh
。