假设您有开发分支和主分支(与生产相对应的主分支)。在 develop 分支中,您可能有一个 test 文件夹,一个 scripts 文件夹,您希望对其进行版本控制。
但是每次将 develop 分支与 master 分支的新更改合并时,您希望忽略 scripts 和 tests ,因为 master 分支具有完全相同的生产文件(因此您甚至可以在每次合并中自动部署主分支)。
实现这一目标的最佳方法是什么?除了一些“被忽略”的文件夹,应该有一种方法来合并所有内容。
我的问题与this one有点相同。但我很惊讶这是一个不太受欢迎的问题。我认为这是一个问题,每个开发人员都希望能够自动部署并且测试代码必须面对
答案 0 :(得分:2)
使用
在master中创建一个.gitattributes
文件
test merge=ours
scripts merge=ours
注意:我实际上无法对此进行测试,因为显然.gitattributes
merge=ours
does not work on msysgit。
答案 1 :(得分:0)
另一种方法(来自我的旧答案)是使用.gitattributes
文件中声明的content filter driver。
在结帐时,可以从模板文件和值文件的组合中生成正确的脚本或配置文件。
您可以将所有值文件(对于master或dev)保存在同一目录中:无需合并它们(它们是不同的)。
生成公共文件,因此它们没有版本化(也没有合并)