我正在做一个PHP项目,使用git/github来维护我的项目。我遵循一个简单的分支模型(master,dev,hotfix-,feature-,release)。我的应用程序包含一个配置文件(config.php),我在其中定义版本号。最近,我不得不做一个热修复。我从主服务器分支了hotfix分支,进行了更改,然后升级了版本(例如: 1.1.2到1.1.3)。当我将修补程序重新合并到master中时,我没有任何问题。当我将hotfix分支合并到dev中时,我在版本号行上与我的配置文件发生了合并冲突。在我的dev分支中,我有一个不同的版本号,所以我认为这是导致冲突的原因。我如何在将来避免这种情况?我是否需要在不同的时间和/或分支上升级版本?
发布于 2013-04-03 04:11:24
不,合并时无法避免这种情况--对同一文件中同一行的两个更改以冲突告终。
你有没有考虑过使用樱桃选择来避免选择版本凹凸?另一种选择是不对版本进行硬编码,而是从git自动派生(例如,发布分支根据提交次数获得一个数字,热修复分支根据分支名称获得一个后缀)。
发布于 2013-04-03 08:53:56
你可以使用“我们的”或“他们的”策略来告诉got如何自己解决冲突,但我不认为你可以在特定的行上使用这些策略。您可能希望避免开发人员必须更新版本号,而是在git-hook上进行更新。
在谷歌上搜索一下:http://cd34.com/blog/programming/using-git-to-generate-an-automatic-version-number/
编辑:或者,你可以简单地标记化版本号,让git完全忽略它。让您的部署过程将令牌替换为某个派生版本号-递增的或基于git SHA1的,或其他一些数字。
有趣的话题,这是我很快就需要为我的团队做的事情。
https://stackoverflow.com/questions/15773303
复制相似问题