clearcase - 更新和rebase之间的区别

mga*_*lgs 10 version-control clearcase

我最近开始学习ClearCase(我来自git和svn的背景 - 我非常想念他们:))并且一直在咀嚼这个:在快照视图中,有什么区别更新和rebase?

我知道存在差异(老实说,我已经开始完全忽略"更新",因为它似乎永远不会做我想要的(这是为了降低其他开发人员最近提供的更改(git pull,svn update))),I只是看不出有什么不同(并且cc文档对此事的帮助不大(奖励积分:任何指向好cc资源的指针(例如类似于svn-book或git手册页))).是的,这是一个句子,半打括注.

Von*_*onC 10

更新严格用于快照视图:查看快照和动态视图之间区别.

当您使用快照视图执行rebase时,将通过更新所述快照视图来完成该操作(其更改与视图关联的Stream的基础基线).

如果您希望获得其他开发人员的开发,您只需要更新,即所述开发人员已经在与您使用快照视图监视的分支相同的分支上检查其代码.
如果您使用的是UCM,那么这些开发人员必须将其视图与快照视图使用的视图相关联.

然后,更新将允许您返回(并在必​​要时合并)您的同事所做的所有修改.
但是假设您没有使用"每个开发人员模型一个流"(我觉得这个模型并不是很有用)

好先读:


kol*_*orr 8

如果我们不清楚,则流=共同术语中的分支.

对于UCM,更新通常仅在处理共享流时有用,这样另一个开发人员可能正在检查您正在处理的该流上的文件.在这种情况下,您使用"更新"来拉动该开发人员在同一个流上所做的更改.

rebase将中央集成流所做的更改从公司的不同开发人员提交到各自的流中.从子流到集成流的提交称为"传递",这与rebase相反.


Pau*_*l R 5

更新只是更新快照视图,以便它与ClearCase中的相​​应版本匹配.

Rebase适用于UCM项目 - 它将集成流中最新推荐基线的更改合并到您的个人开发流中.

通常,您对非UCM内容的快照视图使用更新,而对UCM项目使用rebase.