我有一个 Rails 网站,它分为两个独立的项目——公共网站和管理网站。
由于两个站点都使用相同的数据库,因此模型在应用程序之间共享(实际上现在它们是重复的)。我在这里遇到的问题是,当公共项目中发生模型更新时,我需要将更改复制到管理项目中。
我环顾四周,注意到有一个问题的答案建议使用 svn:external 或 git submodule,但我不完全确定如何执行此操作。
本质上,我的目标是能够仅在一个地方进行更改,将这些更改提交到git,然后在我需要更新时能够在另一个项目中提取更改。
我有一个 Rails 网站,它分为两个独立的项目——公共网站和管理网站。
由于两个站点都使用相同的数据库,因此模型在应用程序之间共享(实际上现在它们是重复的)。我在这里遇到的问题是,当公共项目中发生模型更新时,我需要将更改复制到管理项目中。
我环顾四周,注意到有一个问题的答案建议使用 svn:external 或 git submodule,但我不完全确定如何执行此操作。
本质上,我的目标是能够仅在一个地方进行更改,将这些更改提交到git,然后在我需要更新时能够在另一个项目中提取更改。
不要使用子模块。它们很丑陋,难以理解和维护。更好的是使用子树。
Git 子树是自 1.7.11 以来 GIT 的一部分,我写了一篇关于在 Rails 应用程序之间共享代码的文章:http: //igor-alexandrov.github.com/blog/2013/03/28/using-git-subtree-to -share-code-between-rails-applications/
简而言之:是的 git-subtree 工作得很好!
你需要:
另请参阅子模块的真实性质。