bzr有很多种使用方法,我们首先介绍集中式的使用方法,你可以假装他就是svn。
bzr的基本语法是
bzr 命令 [参数]
首先创建一个代码仓库
#bzr init-repo –no-tree ftp://user@host/repo-name
这里使用了ftp作为代码仓库的中心服务器,bzr支持的协议有很多ftp,sftp,http,bzr等等,我这里使用了ftp为了方便。
命令init-repo是创建代码仓库的命令,–no-tree是说明这个代码仓库本身的物理位置是不参与开发的。
然后创建项目,更精确的说是创建一个分支
#bzr init ftp://user@host/repo-name/proj1-trunk
然后checkout代码
#bzr checkout ftp://user@host/repo-name/proj1-trunk proj1
然后就是熟悉的场景了,可以随意的使用,折腾,捣乱,然后commit到中心代码库。其他的使用者也可以随时update获取最新的代码。
怎么样,跟svn一样吧,甚至连基本的命令都一样,比如commit/ci,update/up,revert,info,state/st。
这里面要注意一个问题,就是使用init命令创建的是一个分支,一个branch。
branch在bzr当中是非常重要的,如果你了解一些svn详细的东西,你会发现被管理的每一个目录都有一个叫做.svn的目录,也就是我们可以认为从任何的子目录开始都是一个完整的可以被单独checkout的小项目。而bzr则不然,他只是在每一个branch的目录下才有一个.bzr目录,也就是从这一点开始,才是branch的根,下层的任何目录都不能成为一个单独的独立结构。
而这个branch是需要用init命令搞定的,不能想svn里面一样随随便便的就创建一个目录就完了。
所以从这里我们看出,bzr是完全可以按照svn的思想来使用bzr。不过,这不就没意义了,我为什么不直接用svn呢,所以我们在使用bzr的时候,还是有一些区别的,下篇再说。
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.