我们最近开始在公司使用 git-flow
,并且遇到了以下问题:
我们有一个 DEV_MODE
bool 值来控制应用程序中的日志记录级别,我们希望开发分支始终具有 DEV_MODE=true
。
但是,在发布版本时,我们将 DEV_MODE
更改为 false
。
当我在 git-flow 中完成发布时,它会将 DEV_MODE=false
merge 到开发分支中。
我有一个可以用来防止这种情况的钩子(Hook),或者也许是一种告诉 git 如何 merge 来自发布分支的文件以进行开发的方法?
最佳答案
您可以通过对文件"template"进行版本控制(其中包含占位符值)来完全避免 merge 问题:
DEV_MODE=@devmode@
然后您可以声明 content filter driver (在 a .gitattributes
file 中)为了在 checkout 时自动为该文件生成正确的内容, 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-flow 完成发布 - 选择性 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28739242/