Gitattributes没有正确设置合并驱动程序



我有以下目录结构:

project/
    .git/
        ...
    app/
        ...
    config/
        initializers/
            braintree.rb
        environments/
            production.rb
    .gitattributes

我的项目使用两个主要分支,master和staging,每个分支都跟踪一个不同的远程(生产和staging heroku应用程序)。

这个想法是,登台分支向前移动新特性,它们被推送到登台远程并在登台远程上进行测试,然后master被快速转发到匹配登台并推送到生产远程。

这是我想做的:自由合并这两个分支,同时保持braintree.rbproduction.rb的版本分开。

为了实现这一点,以下是我在.gitattributes中放入的内容(根据ProGit的书):

config/initializers/braintree.rb merge=ours
config/environments/production.rb merge=ours

该文件存在于两个分支中。

我遇到的问题是这似乎对任何事情都没有任何影响。无论何时我在两个文件之间合并,文件都会被更改,我必须再次更改它们。

我有一种感觉,我错过了一些非常明显的东西,但到目前为止,我还没有意识到。我知道这里的其他答案涉及到创建自定义合并驱动程序,但是ProGit书没有提到这个过程,并且似乎暗示ours驱动程序是内置的(我在手册页中看到它被提到,所以我相对确定它是)。我能想到的唯一一件事是,我不知怎么地把.gitattributes放在了错误的地方或搞砸了它的内容,但我找不到太多的信息。我试过把它移到和文件一样的目录,但是没有用。

如果它有任何帮助,我在OS x上运行git版本1.7.2,任何帮助将非常感激。

有两个很好的堆栈溢出响应来解决这个问题:

我如何告诉git总是选择我的本地版本的冲突合并在一个特定的文件?

。gitattributes,单个文件的合并策略

我建议通读第一个链接中的顶部答案。

相关内容

  • 没有找到相关文章

最新更新