我正在使用 Git 作为我们的代码存储库。
我们得到的每个 repo 都包含master
,development
和fix
分支。
我们将master
其用于生产中的代码,而开发是我们对开发更改的报告。
我的prd
和dev
网站有不同的路径。
您如何配置它以使每个部署到prd
或dev
无缝使用不同的分支?
现在,我的packages.json
.
我正在使用 Git 作为我们的代码存储库。
我们得到的每个 repo 都包含master
,development
和fix
分支。
我们将master
其用于生产中的代码,而开发是我们对开发更改的报告。
我的prd
和dev
网站有不同的路径。
您如何配置它以使每个部署到prd
或dev
无缝使用不同的分支?
现在,我的packages.json
.
这个想法不是版本package.json
(保持私有),而是生成它(其中包含正确的值)。
生成脚本将确定签出分支的名称:
branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
这意味着您可以:
package.json.tpl
version.dev
, version.master
: 由于它们不同,因此在合并或切换分支时不会出现合并问题。最后,您将(在.gitattributes
声明中)注册一个内容过滤器驱动程序。
(图片来自“ Customizing Git - Git Attributes ”,来自“ Pro Git book ”)
smudge
与模板文件 ( ) 相关联的脚本将通过在正确的值文件中查找值package.json.tpl
来生成(自动,在 上git checkout
)实际文件。
生成的实际文件仍然被忽略(由)。 package.json
version.<branch>
package.json
.gitignore
请参阅“分支之间的 git smudge/clean filter ”中的完整示例。