clearcase——更新和变基之间的区别
我最近开始学习 ClearCase(我有 git 和 svn 的背景——我非常想念它们:))并且已经研究了这个有一段时间了:在快照视图中,什么是更新和变基之间的区别?
我知道存在差异(老实说,我已经开始完全忽略“更新”,因为它似乎从来没有做我想要的事情(即拉低其他开发人员最近所做的更改)已交付(git pull,svn update))),我只是看不出有什么区别(并且 cc 文档在这件事上帮助不大(奖励点:任何指向良好 cc 资源的指针(类似于 svn-book 的东西)或 git 手册页,例如)))。是的,那是一个句子,还有六个括号。
I have recently been thrown into learning ClearCase (I come from a background with git and svn -- I desperately miss them both :) ) and have been chewing on this one for a while: in a snapshot view, what is the difference between an update and a rebase?
I know there are differences (and honestly I have started ignoring "update" altogether, because it never seems to do what I want (which is to pull down changes that other devs have recently delivered (git pull, svn update))), I just do not see what the difference is (and the cc docs are less than helpful on the matter (for bonus points: any pointers to good cc resources (something akin to svn-book or the git man pages, for example))). Yes, that was one sentence, and half-dozen parentheticals.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
更新仅限于快照视图:请参阅快照视图和动态视图之间的区别。
当您使用快照视图进行变基时,该操作(更改与视图关联的流的基础基线)将通过更新所述快照视图来完成。
如果您想获得其他开发人员的开发,您可以仅更新那些已在与您使用快照视图监视的分支相同的分支上签入其代码的开发人员。
如果您使用 UCM,那么这些开发人员的视图必须与快照视图所使用的流相关联。
然后,更新将允许您取回(并在必要时合并)您的同事所做的所有修改。
但这是假设您不使用“每个开发人员一个流模型”(我找不到非常有用)
第一次阅读时:
Update is strictly for snapshot view: see the difference between snapshot and dynamic view.
When you do a rebase, using a snapshot view, that operation (which changes the foundation baselines of the Stream associated with the view) will be completed by an update of said snapshot view.
If you want to get the development of other developers, you can do it with an update only of said developers have been checking their code in on the same branch than the one you are monitoring with your snapshot view.
If you are using UCM, those developers must have their view associated with the same Stream than the one used by your snapshot view.
Then, an update will allow you to get back (and merge if necessary) all the modifications done by your colleagues.
But that is assuming you don't use the "one Stream per developer model" (which I don't find very useful)
For a good first read:
如果我们不清楚的话,通俗来说,流=分支。
对于 UCM,更新通常仅在处理共享流时有用,这样其他开发人员就可以签入您正在处理的该流上的文件。在这种情况下,您可以使用“更新”来提取该开发人员在同一流上所做的更改。
变基会拉取对中央集成流所做的更改,这些更改是由公司内的不同开发人员从各自的流中提交的。从子流到集成流的提交称为“交付”,这与变基相反。
In case we are not clear, a stream = a branch in common term.
For UCM, an update is typically only useful when working on a shared-stream, such that another developer could be checking in files on that stream that you are working on. In this scenario, you use "update" to pull the changes made by that developer on that same stream.
A rebase pulls changes made on the central integration stream that has been committed by different developers across your company from their respective streams. A commit from substream to integration stream is called a "deliver" which is the opposite of rebase.
Update 只是更新快照视图,使其与 ClearCase 中的相应版本相匹配。
Rebase 适用于 UCM 项目 - 它将集成流中最新推荐基线的更改合并到您的个人开发流中。
通常,您对非 UCM 内容的快照视图使用 update,而对 UCM 项目使用 rebase。
Update just updates a snapshot view so that it matches the corresponding versions in ClearCase.
Rebase is for UCM projects - it merges changes from the latest recommended baseline in the integration stream into your personal development stream.
Normally you use update for snapshot views of non-UCM stuff, whereas you use rebase for UCM projects.
据我了解,Clearcase 更新就像 git 中的合并。
另一方面,rebase 就像 git 中的
rebase
一样。rebase
到最新的官方标签。From what I understand, Clearcase update is like a
merge
in git.A rebase on the other hand is just like a
rebase
in git.rebase
your branch to the latest official label.