我正在开发一个有两个分支的(Django)网站:master
和dev
。
master
是生产版本,不应该直接在这里完成任何工作。所有更改都应来自合并dev
分支,一旦被认为是稳定的。
dev
是开发分支,所有更改都在这里(和子分支)进行。
在服务器中,我有两个网站正在运行,一个是生产网站(使用master
分支),另一个是私有网站,使用dev
子网使用dev
分支。
问题是所有配置文件,静态文件(图像等)都在控件版本内,以便能够轻松地将它们推送到服务器。但是,如果这些文件(静态,配置...)在dev
中被修改为只在服务器中调试然后我需要与主服务器合并... 我如何设置一些文件和合并dev成为master时会被忽略吗?
我一直在搜索,但我找到了一些related questions,但他们会告诉您.gitattributes
使用merge=ours
。但是,这种方法有一个很大的警告:只有在两个分支中修改文件时才应用策略,但这不是我的情况。
有关我应该如何继续的任何提示?
答案 0 :(得分:5)
git checkout master git merge --no-log --no-ff --no-commit dev git checkout master <files-you-don't-want-to-merge> git add <files-you-don't-want-to-merge> git commit -a ~~~ Test / Build ~~~ git push origin master
答案 1 :(得分:2)
说实话,git听起来像是解决这个问题的错误地方。
Django提供了针对生产和开发环境进行单独设置/配置的工具。我建议你看一下这篇文章:Django: How to manage development and production settings?
如果您按照上面帖子中的建议进行操作,您可以查看开发环境的配置等,然后合并到master将无害,因为生产将有自己的配置。
答案 2 :(得分:0)
已经很久了。但我正在寻找相同的解决方案。无处不在,它只是突然出现:使用子模块进行配置。使用子模块,您可以为不同的配置设置多个分支。
使用符号链接链接子模块中的文件(在子目录中)。