gpt4 book ai didi

git - 如何在 git 中维护生产和开发分支?

转载 作者:行者123 更新时间:2023-12-04 07:31:53 26 4
gpt4 key购买 nike

在我的项目中,我有这个 constants.ts存储我的 API_URL 的文件.我想在我的生产(主)和开发分支中保留两个 API_URL。
例如:开发 -> API_URL = 'http://localhost:4000'
主 -> APIURL = 'https://backend.com'
但是当我更改 API_URL 并提交 merge 主分支和开发分支时,它会检测到更改。所以如果我在主分支中 merge 它的常量文件也会发生变化。如何忽略此文件的更改?

最佳答案

In my project, I have this constants.ts file which stores my API_URL.


这个想法是存储两个文件:
  • constants.ts.main
  • constants.ts.dev

  • (我使用 main instead of master here )
  • 保留 constants.ts从现在开始忽略:echo constants.ts>>.gitignore .

  • 这意味着生成正确的 constants.ts本地文件: merge 时不涉及复杂的 merge devmain .
    在每个分支中,您将生成 constants.ts ,其中包含正确的内容,来自这些文件之一,具体取决于当前的执行环境。
    生成脚本将使用以下命令确定 checkout 分支的名称:
    branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
    最后,您将注册(在 .gitattributes declaration 中)一个 content filter driver .
    smudge
    (图片来自“ Customizing Git - Git Attributes”,来自“ Pro Git book”) smudge脚本,关联 constants.ts文件,将生成(自动,在 git checkoutgit switch 上)实际的 constants.ts文件通过查看右侧的值 constants.ts.<branch>值文件。
    生成的实际 constants.ts文件仍然被忽略(由 .gitignore )。
    请参阅“ git smudge/clean filter between branches”中的完整示例。

    关于git - 如何在 git 中维护生产和开发分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67897998/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com