【问题标题】:Git Merge with ignored migrations filesGit合并与忽略的迁移文件
【发布时间】:2014-03-13 01:28:52
【问题描述】:

我最近开始将git 用于 Django Web 应用程序。我也在使用 Django 的 South Migration 应用程序。

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

问题是我有迁移文件夹,我不希望它们被合并。为此,我在master 分支和develop 分支的主文件夹中添加了一个.gitignore 文件。

.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

【问题讨论】:

    标签: django git migration


    【解决方案1】:

    如果您之前在 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 em>):

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

    【讨论】:

    • 您好,非常感谢您的回答!!!所以我复制了这个并在我的主分支(根)中添加了一个 .gitattributes 文件。然后我尝试合并。我仍然是更改中的迁移文件...另外,我希望 master 分支不要合并一个名为:local_settings.py 的文件,非常感谢 Ara!
    • @AraSivaneswaran 我认为您没有阅读答案中的 gitattribute 链接-最好阅读整章。该文件是.gitattributes 文件,而不是.gitignore 文件。另请注意,----- migration ... 不是文件的一部分。
    • 我打算写.gitattributes。我搞混了-.-。好的,我认为这就像评论:S。我必须保留 * merge=ours 吗?是的,我会阅读整章,我以为只有最后一段是关于 .gitattributes 的。再次感谢,阿拉
    猜你喜欢
    • 2017-10-17
    • 2013-02-20
    • 2016-04-04
    • 1970-01-01
    • 2012-07-05
    • 2013-10-04
    • 2015-12-12
    • 2015-01-02
    相关资源
    最近更新 更多