【发布时间】:2014-04-17 10:58:05
【问题描述】:
我想避免 git 自动合并我的 composer.json。这样我就可以在开发分支中有一个 composer.json 使用 dev-develop 包,而 master 中的一个只使用 dev-master 包。
我可以按照here 的建议使用两个 composer.json 文件,但我担心我最终会忘记在我的 composer.json 中为 master 添加一个包。尤其是在自动化任务时,这可能会导致灾难。
所以实际上我希望 git 可以:
- 合并composer.json时总是冲突,所以我可以在提交到分支之前手动编辑它。
- 仅根据行数合并..因此,如果添加/删除捆绑包,行数会发生变化,那么它应该合并、冲突等等。如果一行的内容发生变化,它可能会忽略..
【问题讨论】:
-
包含分支被认为是一种不好的做法,尤其是没有版本的分支。尽可能包含版本。这将消除维护
composer.json的两个版本的需要,因为您的两个分支所需的版本约束将是相同的。 -
@thecatontheflat 没有合并冲突,它会合并就好了。这实际上是我的观点:我想强迫冲突。
-
@sven 这主要用于我自己的包,由 satis 维护。我想在我的登台服务器上检查我的开发分支。一切顺利后,我将合并到master,并继续在生产环境中发布代码。为什么这么糟糕?
-
重新思考您的开发过程。如果您的主要软件的开发分支依赖于每个库也都在它们的开发分支中,那么您不能真正将这些称为“独立库”,并且您可能不应该将它们分开在不同的存储库中。另一方面,如果您将库视为独立软件,则无需依赖它们位于某个分支中,而只需要具有某个版本即可。除非您有意更新,否则发布新版本不会影响主软件(它将继续与旧软件一起使用)。
标签: git composer-php