我最近开始使用git
用于Django网络应用。我也在使用Django的南迁移应用程序。
我有2个分支 - develop
和master
。我向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
答案 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