我与一组开发人员合作,他们正在转向使用Ruby on Rails进行一些Web开发项目。我们希望在开发过程中我们将开发共享代码。我知道Gems是一种共享代码的方法,但在某些情况下,从开发的角度来看,模块对我们来说可能是更好的方法。
我的问题是,如果程序员A开发了程序员B想要在他/她的项目中使用的模块,那么当模块在Git存储库中时,最好的方法是什么?例如,程序员A可能会维护模块,而程序员B可能希望利用模块中的新功能,因此程序员B只需将模块文件复制到他/她的应用程序中就不是一种选择。
假设存在SharedModules
存储库,其中包含Modules文件夹中的各种模块(例如,module1.rb
,module2.rb
等)。程序员B可以克隆SharedModules
存储库,但可能只对在他/她的应用程序中使用一个模块(module1.rb
)感兴趣。程序员B如何实现这一点并仍然确保提取SharedModules
存储库将在他/她的应用程序中更新module1.rb
?是否有某种基于符号链接的方法?
答案 0 :(得分:2)
您可以为每个模块设置一个仓库,然后使用git 子模块:http://git-scm.com/book/en/Git-Tools-Submodules
子模块允许你 将Git存储库保存为另一个Git存储库的子目录。 这使您可以将另一个存储库克隆到项目中并保留 承诺分开。