开始 登入

Bzr


什么是bzr?
全称是Bazaar,简称是bzr. 如同svn,其实全称是Subversion. Bzr是新一代的分布式文件版本控制系统(VCS).

(第一章有很多废话,1.3节有一些重要内容)
Bzr只是一个工具,看你怎么使用它。
工作流
A.一个人用
1.建立一个仓库
2.保存历史纪录
3.浏览历史

一个人使用最简单,不过现实中还是会出现很多情况,比如我经常会在不同的机器上工作,所以差不多和很多人一起使用一样

B.和伙伴一起用
1.建立一个仓库
2.创建一个分支
3.在仓库和分支上同时做修改
4.合并

C.中心服务器
像使用svn/cvs一样使用bzr
1.从服务器checkout
2.做修改
3.提交到服务器
...



使用详解

1 建立一个仓库
bzr init 用于建立一个新仓库,一般来说,运行该命令以后,当前目录就是一个空的仓库了

2 创建一个仓库分支
bzr branch 地址
地址可以是旁边的一个目录,可以是一个ftp sftp http https服务器等,要详细的了解,可以去看看官方的文档。一般来说http https服务器当然是只读的,还可以是公开的。ftp和sftp设定密码就比较方便。

3 发布内容
不管是自己创建了仓库,或者是从别人那里创建了分支,最好是大家约定一个公共的服务器目录来存放
bzr push 地址
如果是第一次使用,那么地址就会被创建,如果不是第一次,地址就会被更新到当前的branch
前提是,在push之前,我们要先pull一下地址,如果有冲突,应该merge一下地址,确保没有conflict的时候再push

4 同步仓库
bzr pull
如果自己没有做过改动,那么就用这条命令来同步仓库内容吧
要注意的是,同步成功了,只是你本地的仓库更新了,working-tree依然没有被更新,所以我们仍然需要运行bzr update

5 合并仓库
bzr merge
处理conflicts,处理完了应该commit一次

6 处理冲突
bzr resolve --all
某些时候 --all 参数很管用,比如处理目录冲突

7 取出working-tree
bzr checkout
从本地的仓库种取出一个可以工作目录树,在工作目录树上的commit会直接影响到branch。这一点很像svn,尤其当branch和working-tree不在同一台机器上的时候,几乎就是svn了


8 删除working-tree
bzr remove-tree
这样就只剩下branch没有working-tree了,如果working-tree本来是checkout在当前目录,那么现在当前目录下就应该只剩下.bzr目录了,里面可是保存了所有的commit记录哦

Posted by kernel1983 / last modified @ Fri Feb 29 12:59:27 2008  
A Django site.