想不想在互联网上为自己的Git版本库建立一个克隆?这样再也不必为数据的安全担忧(异地备份),还可以和他人数据共享、协同工作?但是这样做会不会很贵呢?比如要购买域名、虚拟主机、搭建Git服务器什么的?
实际上这种服务(Git版本库托管服务)可以免费获得!GitHub、Gitorious、Bitbucket等都可以免费提供这些服务。
如果读者是按部就班式的阅读本书,那么可能早就注意到本书的很多示例版本库都是放在GitHub上的。GitHub提供了Git版本库托管服务,即包括收费商业支持,也提供免费的服务,很多开源项目把版本库直接放在了GitHub上,如:jQuery、curl、Ruby on Rails等。
注册一个GitHub帐号非常简单,访问GitHub网站:https://github.com/,点击菜单中的“Pricing and Signup”就可以看到GitHub的服务列表(如图33-1)。会看到其中有一个免费的服务:“Free for open source” ,并且版本库托管的数量不受限制。当然免费的午餐是不管饱的,托管的空间只有300MB,而且不能创建私有版本库。
点击按钮“Create a free account”,就可以创建一个免费的帐号。GitHub的用法和前面介绍的Gerrit Web界面的用法很类似,一旦帐号创建,应该马上为新建立的帐号设置公钥,以便能够用SSH协议读写自己帐号下创建的版本库,如图33-2。
创建仓库的操作非常简单,首先点击菜单上的“主页”(Dashboard),再点击右侧边栏上的“新建仓库”按钮就可以创建新的版本库了,如图33-3。
新建版本库会浪费本来就不多的托管空间,从GitHub上已有版本库派生(fork)一个克隆是一个好办法。首先通过GitHub搜索版本库名称,找到后点击“派生”按钮,就可以在自己的托管空间内建立相应版本库的克隆,如图33-4。
版本库建立后就可以用Git命令访问GitHub上托管的版本库了。GitHub提供三种协议可供访问,如图33-5。其中SSH协议和HTTP协议支持读写,Git-daemon提供只读访问。对于自己的版本库当然选择支持读写的服务方式了,其中SSH协议是首选。
Gitorious是另外一个Git版本库托管提供商,网址为http://gitorious.org/。最酷的是Gitorious本身的架站软件也是开源的,可以通过Gitorious上的Gitorious项目访问。如果读者熟悉Ruby on Rails,可以架设一个本地的Gitorious服务。