有选择性地合并git

7

我希望有一个git仓库,其中包含开发分支和部署分支。我的项目需要一些配置文件和数据库文件。我希望部署分支没有任何项目的配置和数据库文件,但是我想在开发分支中保留这些文件的版本以便测试。是否有办法在将开发分支合并到部署分支时,忽略这些文件的合并过程?

3个回答

6
你可以使用 git merge --no-commit 命令,在提交合并之前删除配置文件。虽然可能有更简单的方法,但这是一种可行的做法。
但是,我建议在两个分支中都保留这些文件,或者根本不要有这些文件。你使用的是什么语言和开发环境?它们是否提供了根据构建类型指定不同文件的可能性?

我在多个不同的项目中都遇到了这种情况,所以我没有特定的语言/构建系统。根据我是在测试还是部署,指定不同的文件肯定是可行的;我只是觉得让 git 处理可能更加优雅。不过也许 git 的设计不是为此而来的。 - Rex

3

0

你可以进行伪合并。这实际上是从尚未合并的提交中重新定义提交。因此,如果您之前曾经合并过,并保留了两个分支的外观方式,那么您应该只合并最后一次合并之后引入的差异。

以下是描述此“特殊合并”的答案:

在git中始终忽略某个提交的合并


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接