[英]how to maintain a production and development branches in git?
在我的项目中,我有这个存储我的API_URL
的constants.ts
文件。 我想在我的生产(主要)和开发分支中保留两个 API_URL。
例如:开发 -> API_URL = 'http://localhost:4000' main -> APIURL = 'https://backend.com'
但是当我更改 API_URL 并提交合并主分支和开发分支时,它检测为更改。 所以如果我在主分支中合并它的常量文件也会发生变化。 如何忽略此文件的更改?
在我的项目中,我有这个存储我的
API_URL
的constants.ts
文件。
这个想法是存储两个文件:
constants.ts.main
constants.ts.dev
constants.ts
: echo constants.ts>>.gitignore
。 这意味着在本地生成正确的constants.ts
文件:将dev
合并到main
时不涉及复杂的合并。
然后,在每个分支中,您将根据当前的执行环境,从其中一个文件中生成包含正确内容的constants.ts
。
生成脚本将确定签出分支的名称:
branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
最后,您将注册(在.gitattributes
声明中)内容过滤器驱动程序。
(图片来自“ 自定义 Git - Git 属性”,来自“ Pro Git 书”)
与constants.ts
文件关联的smudge
脚本将通过查看正确的constants.ts.<branch>
值文件中的值来生成(在git checkout
或git switch
时自动生成)实际的constants.ts
文件。
生成的实际constants.ts
文件仍然被忽略(由.gitignore
)。
请参阅“ git 涂抹/清洁分支之间的过滤器”中的完整示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.