首页 > 解决方案 > 合并两个 git 分支但排除合并文件中的特定行

问题描述

我的项目有两个分支,一个用于我的本地项目,另一个用于 Depolying to heroku 有没有使用 git merge 的方法,这样我就可以将我的本地分支合并到 Heroku 分支,但某些行有几行合并的文件不会改变。例如,我有一条线将套接字连接到我的本地主机,我不希望这条线更改将套接字连接到我的 heroku 地址的相关线,或者同样适用于端口和类似的细微更改。

谢谢。

标签: gitgit-branchgit-merge

解决方案


您必须执行合并,然后再次提交以删除这些行。这是一个维护麻烦,它很容易得到交叉污染。

相反,最佳实践是为所有部署使用一个分支。配置是通过环境变量(可以有默认值)完成的。然后使用Config Vars在 Heroku 上设置您的值。这遵循了用于向 Heroku 交付软件的十二要素应用程序。

应用程序有时会将配置存储为代码中的常量。这违反了十二因素,要求严格分离配置与代码。配置因部署而异,但代码没有。

十二因素应用程序将配置存储在环境变量中(通常缩写为 env vars 或 env)。环境变量很容易在部署之间更改,而无需更改任何代码;与配置文件不同,它们被意外签入代码仓库的可能性很小;与自定义配置文件或其他配置机制(如 Java 系统属性)不同,它们是与语言和操作系统无关的标准。

https://12factor.net/config


推荐阅读