在版本控制系统中存储第三方源并管理其自定义

时间:2014-05-21 02:50:36

标签: git github cvs bitbucket bitbucket-api

我有一个使用BitBucket的git存储库,用于从供应商处购买的PHP webapp。我们使用存储库来增强供应商的原始webapp。

问题是供应商经常发布我们需要手动重新应用我们对产品所做的所有增强的新版本。

我想知道是否有任何方法可以使用git或任何其他工具我们可以应用我们的增强功能而无需手动执行。

我对Bitbucket和Git一般都很陌生,所以建议会受到赞赏。我正在考虑使用分支来实现我们的增强功能,但我认为这不会起作用,因为底层代码会从供应商的新版本中发生变化。

1 个答案:

答案 0 :(得分:0)

使用分支机构应该完成这项工作。例如,将来自供应商的所有版本放到一个名为vendor的分支中。为每个版本创建版本号并标记它们。将您的修改保留在master中,并将每个版本合并到master中的代码中。

Git和其他版本控制系统会在自动合并方面为您提供一些帮助,但一旦出现冲突(在同一行文件,已删除文件等上进行编辑),您就必须解决它们手动

使这一成功的关键点是

  1. 坚持您选择的版本控制架构。看看semantic versioning
  2. 为您的代码创建一套完整的自动(单元)测试,以确保供应商版本没有任何中断。
  3. 这只是一个想到的选项,其他人可能会有更多。