ruby-on-rails - 组织多个项目的 git 存储库的好方法

标签 ruby-on-rails git github

有 1 个主要 RoR 项目和 2 个附加项目共享主要项目的某些部分 - 模型、插件等。

目前所有项目都在同一个 svn 存储库下,共享部分具有 svn 外部。

将这种布局移动到 git 的最佳方法是什么?

最佳答案

每个部分都需要一个存储库。 (每个项目和一个或多个共享部分)。

要包含这些共享部分,有两种可能性。

首先是简单的,您为共享部分创建一个(私有(private))gem,这意味着您不需要链接任何东西,只需将 gem [gemname] 添加到您的 Gemfile。当您更新 gem 时,所有项目都将使用更改后的代码。

当您想要在项目中包含外部代码时,您需要进行一些组织工作。您创建一个根映射,您可以在其中将共享存储库和项目存储库克隆到其中。然后创建一个(相对)符号链接(symbolic link)到共享代码文件夹。您只需将此符号链接(symbolic link)添加到您的 git 存储库并提交即可。您必须分别更新和提交两个存储库。

第二种方法的例子:

- projectfolder
--- shared code
--- project code
----- lib
------- shared (link to shared code)

共享代码的链接是通过命令 ln -s "../../../shared code"shared 创建的

当然,这只适用于支持符号链接(symbolic link)的系统(mac 和 *nix)

关于ruby-on-rails - 组织多个项目的 git 存储库的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4613592/

相关文章:

ruby-on-rails - Ruby:在一个文件中放置多个类是否可以接受?

git - 在 bitbucket 远程服务器上发生冲突,但一切都是本地最新的

git - .git 目录是否包含远程密码或 SSH key ?

github - (Github) "Testing your SSH connection"-> 主机 key 验证失败

ruby-on-rails - Capistrano 开发部署失败

ruby-on-rails - 如何将坐标转换为谷歌友好坐标

ruby-on-rails - 由于缺少make命令,导致 bundle 安装失败

git - 将 .gitignore 转换为 .hgignore,反之亦然

github - 我想轻松推送git

windows - 您如何为两人团队设置 github 版本控制?