Git 与 Clearcase 命令等效的命令?

Git Commands equivalent fo Clearcase commands?

谁能帮我知道 Git 命令等同于 clearcase 命令?

这里没有one-to-one映射。 ClearCase 命令,就像 ClearCase 本身一样,是面向 file 的:一次签入或签出单个文件。 Git 的存储是面向 commit 的:新提交是 每个 文件的新快照,而不仅仅是一些更改的文件( s).

另一个根本区别是 ClearCase 是集中式的,而 Git 是分布式的。也就是说,对于每个 ClearCase VOB,都有一个主 VOB(即使它可能被复制)。该 VOB 包含 the 文件版本数据库(技术上 elements)。如果某些重复的 VOB 与主版本不一致,则副本是 错误的 。但是,对于 Git,没有一个 Git 存储库比任何其他 Git 存储库更正确。如果两个 Git 存储库不同意提交集,则两个存储库都是正确的。

除此之外,ClearCase 提供了 Git 所没有的能力。使用 cspecs,您可以构建 ClearCase 动态视图,在 Git 中没有并行。 ClearCase 还允许管理员锁定特定元素、授予特定用户有限的访问权限等。 ClearCase 存储目录(和目录修改); Git 仅存储文件。1

这两个系统非常不同,我建议您暂时放弃所有这些,直接学习 Git。尝试将 ClearCase 概念映射到 Git 会让您非常沮丧。

另见 What are the basic clearcase concepts every developer should know? and How to bridge git to ClearCase?


1销售和营销类型会让您相信这证明 ClearCase 优于 Git。我会请您考虑是否希望您的小刀有数百个专用刀片,或者只有几个非常好的刀片。 (如果你有的话,在这里使用一些其他最喜欢的工具类比。)

我已经广泛记录了 Git and ClearCase by the past(基于文件与基于存储库、集中式与分布式)之间的差异

这不是关于 dynamic view and MVFS, since Git is (slowly) incorporating the equivalent, VFS for Git (formely known as GVFS)

这是关于:

  • 签出或提交的内容(从一个或多个 Vob 中选择 ClearCase 中的文件)与 Git 中的完整存储库(即使您现在有
  • 存储单位。
    这是在 migrating ClearCase Vobs to Git repositories 时要考虑的更重要的标准:一个可能的多个 TB 的 Vob,而一个 Git 存储库的大小应该保持 "reasonable"。
    即使 Microsoft Windows "largest repository in the planet" 也小于 0.5 TB。

如果您使用的是 ClearCase UCM,那么相关的工作单元是一个 UCM 组件,类似于 Git 存储库:

ct mkview/co <==> git clone/checkout 
ct mkbl      <==> git tag
ct ci        <==> git commit+git push
ct deliver   <==> git merge
ct rebase    <==> git rebase (to an extent)

一切都是关于最适合您的需求和开发模型的工具。 GIT 从策略管理的角度来看,存储库与新创建的多站点存储库共享一些问题。 (政策未在全球范围内应用)

这里有一个公认的有偏见的比较: http://www.cccqcommunity.com/blogs/why-use-clearcase-when-git-is-free

我最后检查了一下,GITs vfs 是 Windows-only,不支持极细粒度的构建审计 MVFS,结合 clearmake/clearaudit/Omake 支持。这是否重要是您的决定。