Git工作流程,在忽略文件方面,开发和生产分支的区别

3
假设您有一个develop分支和一个master分支(master对应生产环境)。在develop分支中,您可能有一个test文件夹和一个scripts文件夹需要进行版本控制。
但是每次将develop分支与新更改合并到master分支时,您都想忽略scriptstests,因为master分支中有与生产环境完全相同的文件(这样您甚至可以在每次合并时自动部署master分支)。
如何才能最好地实现这一点?应该有一种方法可以合并除了某些“被忽略”的文件夹之外的所有内容。
我的问题有点类似于这个问题。但我很惊讶这不是很受欢迎的问题。我认为这是每个想要能够自动部署和测试代码的开发人员都必须面对的问题。
2个回答

2
在主分支中创建一个名为.gitattributes的文件。
test merge=ours
scripts merge=ours

注意:我实际上还无法测试这个,因为显然在 msysgit 上使用 .gitattributesmerge=ours 不起作用

0
另一种方法(来自我的旧答案)是在.gitattributes文件中声明内容过滤驱动程序

filter driver

这将允许在结账时从模板文件和值文件的组合中生成正确的脚本或配置文件。

您可以将所有值文件(用于主服务器或开发)保存在同一个目录中:无需合并它们(它们是不同的)。
通用文件是生成的,因此它们没有版本控制(也没有合并)。


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