Git/Github 近况:Ruby 图书,Gems 软件包,Gitjour

  • Werner Schuster
  • 贾晓楠

2008 年 7 月 7 日

话题:RubyRuby on Rails语言 & 开发架构

在 Ruby 世界中,Git 作为一个软件配置管理(SCM)工具,它能越来越流行主要应该归功于Github许多Ruby 项目都转到 git 阵营了。在 Github 中,可以方便地协作和跟踪项目进度(通知更新)。现在,一些图书项目已经开始使用 Github 了,它们是:

支持 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包。

查看原文:Git/Github Roundup: Ruby Books, Gems, Gitjour

RubyRuby on Rails语言 & 开发架构