使用忽略的迁移文件Git Merge

时间:2014-03-13 01:28:53

标签: django git migration

我最近开始使用git用于Django网络应用。我也在使用Django的南迁移应用程序。

我有2个分支 - developmaster。我向develop添加了新功能,现在我想将develop合并到master

问题是我有迁移文件夹,我不希望它们合并。出于这个原因,我在.gitignore分支和master分支的主文件夹中添加了develop文件。

.gitignore

*.pyc
!/.gitignore
acpkinballmanageevents/migrations/
acpkinballmanageleague/migrations/
acpkinballmanagemembers/migrations/
acpkinballmanageteams/migrations/
blog/migrations/
managelayerslider/migrations/
managesite/migrations/

但它要求我合并.pyc文件夹中的一些/migrations/文件和文件....

是否可以不合并它们,还是建议合并迁移文件?

编辑:

这是我的.gitattributes文件:

acpkinballmanageevents/migrations/* merge=ours
acpkinballmanageleague/migrations/* merge=ours
acpkinballmanagemembers/migrations/* merge=ours
acpkinballmanageteams/migrations/* merge=ours
blog/migrations/* merge=ours
managelayerslider/migrations/* merge=ours
managesite/migrations/* merge=ours

1 个答案:

答案 0 :(得分:2)

如果您之前在git中跟踪过这些文件,则它们已经记录在git的分支内容视图中。 Git仍然知道文件,并会要求你合并,即使你试图忽略它们。

您可以强行忽略这些文件 - 请参阅Ignore files that have already been committed to a Git repository,特别是this answer,了解如何使用git ls-files自动排除与新引入的.gitignore匹配的所有文件

或者,在我看来,在您的情况下更好的方法 - 您可以使用git属性来描述文件的特定合并策略。见http://git-scm.com/book/en/Customizing-Git-Git-Attributes#Merge-Strategies

您不希望将迁移文件从 develop 合并到 master ,例如,您可以设置这样的属性文件(在 master ):

----- migration/.gitattributes ----
* merge=ours