1

我有两个分支用于开发和部署。我对要合并到开发分支的部署分支进行了一些更改。现在我希望合并命令在这种情况下显示冲突 -

//development
$path = 'localhost';

//deployment
$path = 'example.com';

相反,部署分支线只是替换了开发分支线。我可以挑选提交并将它们应用到开发分支或手动进行更改,但我认为必须有更好的方法来做到这一点。

4

2 回答 2

0

如果您在开发分支中也更改了它,它只会发生冲突。因此,因为您只在部署中更改了它,所以它只是一个正常的版本更改。

只需不要在您的变更集中提交该特定文件。(假设您没有对该文件进行其他更改)

于 2012-05-19T00:11:54.673 回答
0

由于该配置文件变化很大,因此最好完全避免此类文件的任何合并问题。

您应该将该配置文件的值版本化到单独的文件中:

  • config_dev.values
  • config_depl.values

而且您将只有一个config.template带有占位符的版本化文件用于值:

// server name for dev or deployment or other environments
$path = '@@SERVER_NAME@@'

这样,这个模板文件就不会改变,也不会被合并。
您还可以对能够在结帐时生成实际配置文件的脚本进行版本控制(不会进行版本控制,保持“私有”,即仅在您当前工作目录的本地)

内容过滤器驱动程序

如果您将该脚本声明为文件中的内容过滤器驱动程序,它将.gitattributes只获取每个签出文件的内容git checkout

于 2012-05-19T07:08:15.800 回答