我正在开发一个我们使用Orchard CMS的项目。
我们为CMS制作了一些我们自己的模块和主题,并且还必须在Orchard源代码中进行一些代码更改。当然,这不是一个很好的做法,因为升级CMS或类似的东西时这些变化都会消失。但是,当时进行这些更改是不可避免的,因为默认功能无法满足客户的需求。
现在,所有这些更改都是在旧版本1.5.1上进行的,现在我们需要转到新版本(目前为1.6)。通过这样做,我们将失去我们对Orchard来源所做的所有更改。
我已经将我们对1个变更集中的默认源所做的所有更改捆绑在一起,因此将它们合并到新版本的CMS中会变得更容易一些。但是,在我看来,这不是一个非常好的工作流程。
我们可以选择分叉项目并在fork中进行更改,但升级时我们会遇到同样的困难,因为我们在升级fork时仍需要合并所有更改。 创建拉取请求也不是一种选择,因为更改可能不会在主存储库中进行,也不会让所有用户都喜欢这些更改。
我们可以在这个项目中使用其他一些常见的做法吗?
注意:目前我正在问这个项目我正在研究,但我想知道如何使用OSS项目,你需要更改项目的来源,但仍希望偶尔获得最新版本。
答案 0 :(得分:2)
只要您克隆了Orchard回购,您就可以随时从中获取更改。您可能必须使用比较工具解决某些冲突,在该工具中您更改了自最近一次合并以来在orchard repo中也更改的文件。虽然它相对无痛。
我在bitbucket上保留了我的回购副本,当他们发布新版本时,只需从果园回购中取出。通常我需要解决解决方案文件的冲突,以及这里和那里的一些事情。解决这些冲突后,每次更新时都不需要再次处理它们。这只会发生在你和乌节都在变化的文件中。 (与解决方案文件一样)