8

我正在开发一个有两个分支的(Django)网站:masterdev.

master是生产版本,这里不应该直接做任何工作。dev一旦被认为是稳定的,所有的变化都应该来自合并分支。

dev,正如您可能猜到的那样,是开发分支,所有更改都在这里(和子分支)进行。

在服务器中,我有两个网站在工作,一个是生产网站(使用master分支),另一个是用于开发的私有网站,dev子域使用dev分支。

问题是所有配置文件、静态文件(图像等)都在控制版本中,以便能够轻松地将它们推送到服务器。但是,如果这些类型的文件(静态,配置......)被修改dev为只是在服务器中调试,然后我需要与主文件合并......我如何设置一些文件和目录在将 dev 合并到时被忽略掌握?

我一直在搜索,我发现了一些相关的问题,但他们告诉你使用.gitattributeswith merge=ours。但是,这种方法有一个很大的警告:它仅在文件在两个分支中被修改时才应用该策略,但这不是我的情况。

关于我应该如何继续的任何提示?

4

3 回答 3

6
git结账大师

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 提交 -a

~~~ 测试/构建~~~

git push 起源大师


于 2013-09-28T16:39:09.593 回答
3

老实说,git 听起来像是解决这个问题的错误地方。

Django 提供了为生产和开发环境进行单独设置/配置的工具。我建议你看看这篇文章:Django:如何管理开发和生产设置?

如果您遵循上面帖子中的建议,您可以为您的开发环境设置配置等​​,然后合并到 master 将是无害的,因为生产将有自己的配置。

于 2013-09-28T17:03:41.447 回答
-1

已经很久了。但我正在寻找相同的解决方案。它突然出现在我的脑海中:使用子模块进行配置。使用子模块,您可以有多个分支用于不同的配置。

使用符号链接从子模块链接文件(在子目录中)。

于 2017-10-18T22:48:14.013 回答