下一个: Branches and revisions, 上一个: Creating a branch, 上层: Branching and merging
你可以通过两种方式恢复分支:重新从仓库检出一份或是从现有的工作副本切换过去。
为了从仓库检出i一个分支,使用 `checkout' 命令并带上 `-r' 标志,后面 是这个分支的标签(tag)名 (参阅 Creating a branch):
$ cvs checkout -r rel-1-0-patches tc
或者如果你已有了一个工作副本,你可以使用 `update -r' 命令切转到这个分支:
$ cvs update -r rel-1-0-patches tc
或者使用另一个等效的命令:
$ cd tc
$ cvs update -r rel-1-0-patches
这对工作副本为主干代码或是其它分支都是有效的 – 上面的命令将把它切换到指名的 分支。同 `update' 命令相类似,`update -r' 合并你所做的任何改变,通知 你出现的冲突。
一旦你的工作副本已经转向一个特定的分支,它将一直保持在这个分支内,除非你又做了 其它的操作。这意味着从这个工作副本提交的变更将加到这个分支的新版本中,而不影响到 主干版本和其它分支。
想看一个工作副本是基于哪一个分支,可以使用 `status' 命令。在它们输出中查找 一个 `Sticky tag' 的域(参阅 Sticky tags) – 那就是 cvs 告诉你当前 工作文件分支号的方式:
$ cvs status -v driver.c backend.c
===================================================================
File: driver.c Status: Up-to-date
Version: 1.7 Sat Dec 5 18:25:54 1992
RCS Version: 1.7 /u/cvsroot/yoyodyne/tc/driver.c,v
Sticky Tag: rel-1-0-patches (branch: 1.7.2)
Sticky Date: (none)
Sticky Options: (none)
Existing Tags:
rel-1-0-patches (branch: 1.7.2)
rel-1-0 (revision: 1.7)
===================================================================
File: backend.c Status: Up-to-date
Version: 1.4 Tue Dec 1 14:39:01 1992
RCS Version: 1.4 /u/cvsroot/yoyodyne/tc/backend.c,v
Sticky Tag: rel-1-0-patches (branch: 1.4.2)
Sticky Date: (none)
Sticky Options: (none)
Existing Tags:
rel-1-0-patches (branch: 1.4.2)
rel-1-0 (revision: 1.4)
rel-0-4 (revision: 1.4)
请不要因为每个文件的分支号不同(`1.7.2' 和 `1.4.2')而迷惑。分支的标签 是相同的,`rel-1-0-patches',所以这些文件是在相同的分支上。数字简单地反映 在每个文件的版本历史中在制造分支的点。在以上的例子中,分支建立之前,`driver.c' 比 `backend.c' 有更多的变更,因此它们的版本编号是不同的。
请参阅 Branches and revisions 了解如何构建分支号的细节。