git-flow完成发布 - 选择性合并

时间:2015-02-26 09:56:52

标签: git git-merge git-flow

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

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

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

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

1 个答案:

答案 0 :(得分:5)

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

DEV_MODE=@devmode@

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

http://git-scm.com/book/en/v2/book/08-customizing-git/images/smudge.png

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

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

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