Git工作流,devel和生产分支之间的差异忽略文件

时间:2013-05-24 16:40:39

标签: git branch gitignore

假设您有开发分支和分支(与生产相对应的主分支)。在 develop 分支中,您可能有一个 test 文件夹,一个 scripts 文件夹,您希望对其进行版本控制。

但是每次将 develop 分支与 master 分支的新更改合并时,您希望忽略 scripts tests ,因为 master 分支具有完全相同的生产文件(因此您甚至可以在每次合并中自动部署分支)。

实现这一目标的最佳方法是什么?除了一些“被忽略”的文件夹,应该有一种方法来合并所有内容。

我的问题与this one有点相同。但我很惊讶这是一个不太受欢迎的问题。我认为这是一个问题,每个开发人员都希望能够自动部署并且测试代码必须面对

2 个答案:

答案 0 :(得分:2)

使用

在master中创建一个.gitattributes文件
test merge=ours
scripts merge=ours

注意:我实际上无法对此进行测试,因为显然.gitattributes merge=ours does not work on msysgit

答案 1 :(得分:0)

另一种方法(来自我的旧答案)是使用.gitattributes文件中声明的content filter driver

filter driver

在结帐时,可以从模板文件和值文件的组合中生成正确的脚本或配置文件。

您可以将所有值文件(对于master或dev)保存在同一目录中:无需合并它们(它们是不同的)。
生成公共文件,因此它们没有版本化(也没有合并)