【问题标题】:git-flow finish release - selective mergegit-flow 完成发布 - 选择性合并
【发布时间】:2015-04-28 15:22:22
【问题描述】:

我们公司最近开始使用git-flow,遇到了以下问题:

我们有一个 DEV_MODE 布尔值来控制应用程序的登录级别,我们希望开发分支始终拥有 DEV_MODE=true
但是,在发布版本时,我们将DEV_MODE 更改为false

当我在git-flow 中完成发布时,它会将DEV_MODE=false 合并到开发分支中。

我有一个可以用来防止这种情况的钩子,或者是一种告诉 git 如何合并发布分支中的文件以进行开发的方法?

【问题讨论】:

    标签: git git-merge git-flow


    【解决方案1】:

    您可以通过对文件“模板”进行版本控制来完全避免合并问题,其中包含一个占位符值:

    DEV_MODE=@devmode@
    

    然后您可以声明content filter driver(在a .gitattributes file 中),以便在结帐时自动为该文件生成正确的内容depending on the branch currently checked out

    (图片显示在“Customizing Git - Git Attributes”,来自“Pro Git book”)

    smudge 脚本可以使用它来检测当前分支:

    #!/bin/sh
    branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
    

    【讨论】:

    • 谢谢,听起来正是我想要的。快速提问 - 'git config --global' 命令会在我的同事之间共享还是只对我有用?
    • @marmor 一个 git 配置(全局或其他)总是本地的(repo 本地,用户本地或机器本地)。它从不共享。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多