在 Ruby 世界中,Git 作为一个软件配置管理(SCM)工具,它能越来越流行主要应该归功于 Github 。许多 Ruby 项目都转到 git 阵营了。在 Github 中,可以方便地协作和跟踪项目进度(通知更新)。现在,一些图书项目已经开始使用 Github 了,它们是:
- Rails 2.1 书:这本用葡萄牙语写的介绍Rails 2.1 的免费书 ;/1215420514322/),如今也在 Github 空间中进行翻译。
- Ramaze 书:一本关于 Ramaze 网络框架的书
- Sinatra 书:关于 Sinatra 网络框架的教程 + 手册
- Life On The Edge With Merb, DataMapper & RSpec :介绍 Merb 和 DataMapper 等等
支持Ruby Gems 是Github 的特色之一。其实很简单,只不过是支持.gemspec 文件而已(在Github 的配置中打开“Ruby Gem”选项)。只要推送.gemspec 文件,Github 就会自动创建 Gem 包。然后你就能在包的源地址“ http://gems.github.com ”中看到它了。Github 还有一个突出的特色是方便的项目分支(forking),当不同用户版本都在发布 Gem 包,有可能导致命名冲突,解决的方法是把用户名作为 Gem 包的前缀。
Git 的一个好处是,它从服务器上提取完整的存储库,而不仅仅是当前 HEAD 的快照。存储库包含了文件的完整历史记录,也就是过去所有提交的版本。最近,Evan Phoenix、Chad Fowler 和 Rich Kilmer 用它创建了 gitjour ,它能更方便地在局域网中分享 git 存储库。gitjour 中的“jour”取自 Bonjour ,这是 Apple 实现的 Zeroconf 协议的名字。它们的原理是使用局域网的多播技术来公告其服务。Zeroconf 的名字就暗示道,你可以添加这些服务而无需手动去查找,也不用提供服务的主机和端口。
入门用的最好教程是 Nic 博士的 gitjour 及相关工具使用指南。文章中说,使用 gitjour,创建一个 git 存储库只需要在软件库目录中调用 gitjour serve。还有,gitjour list 指令会列出网络上可用的存储库,而 gitjour clone foo 则克隆名为“foo”的存储库。要了解详细的安装信息等,请参看 Nic 博士的文章。
使用 Ruby 和 Bonjour 看起来很流行, Nic 博士的文章还介绍了一些基于同样原理的工具,比如用来快速分享代码片段的 pastejour 、用来分享 gem 包的 gemjour 等等。这些项目都使用了 dnssd Ruby 包。
评论