从 ClearCase 迁移到 Git

2023-12-06

我来自 ClearCase 背景,我们(简单地说)的工作流程由三个步骤组成,其中最左边的主干是不稳定的,中间的主干是质量保证,最右边的主干是稳定的。 IE。)

A  A  A
|  |  |
B  C  |
| /|  |
C  |  E
|  | /  
D  E
| /
E

正如您所看到的,稳定主干仅包含已合格的版本。我在 Git 中复制此工作流程时遇到问题,因为版本 B、C 和 D 也被推入 QA 主干,随后推入稳定主干。在我看来,这违背了仅包含稳定版本的“干净”主干的目的。

现在,Git 和 ClearCase 之间存在明显的根本差异,我确信这解释了为什么我在使用以前的概念来指定工作流程时遇到困难。

几天来我一直在尝试了解这些新的 SCM 工具(我也研究过 Mercurial),并且确实可以使用一些关于如何继续的指示。我们正在 Mac 和 Windows PC 上进行开发,与命令行相比,绝大多数团队更喜欢 GUI 工具。

谢谢! :-)


首先你可以阅读这篇文章ClearCase 和 Git 的比较

正如中所解释的子模块和分支之间的中间地带?,当来自 ClearCase 时可能会欺骗您的一个概念是组合(配置继承)的概念:请参阅灵活分支与静态分支(GIT 与 Clearcase/Accurev).

ClearCase 按文件工作(或按活动工作,每个活动都是一组文件)。
Git 按 Blob 增量工作(每个 Blob 代表一个content:如果两个文件内容相同,则只会存储一个“blob”)

这意味着您尝试通过分支/流和活动在 ClearCase 中执行的操作(如果您使用 UCM)更有可能通过以下方式实现:

  • 提交重新排序(rebase --interactive,这是“git”方式,在 Mercurial 中不推荐)
  • and/or 出版物(这是一个正交维数分支,特定于 DVCS)

重新排序+合并(仅适用于尚未“发布”的提交,即未推送):
您正在重新排序应用于代码的修改增量,以便仅合并您想要的内容。

trunk => trunk'  QA => QA'  stable
  A        B'    
  |        |  
  B        D'
  |        |  
  C        A'----A'    C''
  |        |     |     |
  D        C'    C'    A''--  A''  (--: merge to branch)
  |        |     |     |      |
  E        E     E     E      E
  • 重新排序+发布 (push):

您还可以通过自己的 git 存储库来表示每个代码升级。
一旦提交按正确顺序排列,您就可以将相关分支推送到 QA 存储库或稳定存储库。


重新排序(历史重写)是:

  • Mercurial 不鼓励,同时被技术上可行
  • 当开发人员拉取其他人已重新基址(重新排序)的分支时出现问题:请参阅从上游 REBASE 中恢复的部分git rebase手册页。

也可以看看:

  • 成功的 Git 分支模型
  • 在大型组织中使用 Mercurial
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 ClearCase 迁移到 Git 的相关文章

随机推荐

  • 如何使用 ifdef 检测是否支持 Windows DWORD_PTR 类型?

    有一些新的整数类型在Windows API中支持Win64 他们并不总是得到支持 例如它们不存在于 MSVC6 中 我怎样才能写一个 if条件来检测这些类型是否受支持
  • 从门禁表中选择先入后出时间

    这是我的门禁表 dbo tblAccess EmployeeId EmployeeName Location AccessTime ReaderType 1346 A L1 7 11 2014 10 00 IN 1347 B L2 7 1
  • C 中双下划线的使用 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我刚刚在学习C programming a modern approach书 我在里面发现了一个问题 为什么标识符包含多个相邻下划线不是一个好主意 例如在 current balance
  • parsec:带有有用错误消息的字符串选择解析器

    让我们有以下解析器 parser GenParser Char st String parser choice fmap try string head tail tales
  • 将优惠券字段设置为 WooCommerce 中产品类别的必填字段

    我正在努力做到这一点 以便优惠券字段在 Woocommerce 上对于产品类别是强制性的 我尝试过使用这个答案中的代码但它仅适用于一组优惠券代码 我需要它与任何有效的优惠券代码一起使用 感谢您的任何帮助 请尝试以下操作 当找到特定产品类别的
  • 从命令行解锁 Android 模拟器

    我想从命令行运行 android 模拟器 解锁它并控制它 这可能吗 我知道如何从eclipse进行操作吗 在模拟器上尝试adb shell input keyevent 82 该键事件执行 KEYCODE MENU 并解锁屏幕
  • 如何使用 wxPython 制作窗口覆盖(在浏览器、游戏之上)

    我想制作一个简单的程序 此代码是一个演示 它将收集系统数据并将其显示在所有内容之上 我的目标是创建一个整体 ping集电极对于当前最大的互联网用户 我所要求的只是如何制作叠加层而已 Hello World but with more mea
  • Microsoft Graph API SDK .NET 获取其他用户电子邮件时出现问题

    我正在使用从 NuGet 1 2 下载的 Microsoft Graph SDK 我向 Azure AD 进行身份验证 使用 ADAL 我正在使用客户端凭据流 未作为任何特定用户进行身份验证 并使用应用程序权限角色来访问资源 我们将设置一个
  • 如何将节点列表添加到空间层

    我是 Neo4j 和 cypher 的新手 我有很多节点 我想将它们添加到空间层中 这是我用 cypher 尝试过的 从 csv 文件创建节点 load csv with headers from file green tripdata 2
  • 如何使用 Django 在 nginx 中设置子目录

    环境 uwsgi nginx Django 1 3 我正在使用域名www example com使用 Django 和 nginx 我想通过以下方式访问 Djangowww example com abc 但我不知道如何设置子目录 这是 n
  • Sass 中的图像路径有变量吗?

    我想要一个变量包含 CSS 文件中所有图像的根路径 我不太清楚这在纯 Sass 中是否可行 实际的 Web 项目不是 RoR 因此不能使用 asset pipeline 或任何花哨的爵士乐 这是我的例子 它不起作用 编译时 它会在后台 ur
  • 如何将“ENTER”按键发送到另一个应用程序?

    我有启动外部应用程序并自动填写密码提示的代码 我想自动按下 ENTER 键 以便用户不必单击 确定 如何将 ENTER 键发送到外部应用程序 下面是我现在的代码 将密码发布到应用程序的第一行工作正常 第二行发送 ENTER 键根本没有效果
  • 使用 magick R 导入 PDF 时出错

    我有数百个 PDF 需要裁剪 对于每个 PDF 我都有一组独特的坐标可供裁剪 我正在尝试使用 R 的 magick 包 版本 ImageMagick 6 9 9 14 但在导入 PDF 时收到错误 magick 文档中的这个示例抛出一个错误
  • Web.Config 中的 defaultRedirect 问题

    我使用 Asp net 4 这里为我的设置Web Config file
  • 将程序集添加到 Visual Studio 2015 ASP.NET 5

    我想将 Stimulsoft Report dll 作为程序集添加到我的 Visual Studio 2015 ASP Net 5 项目中 但参考管理器不包含带有扩展区域的程序集部分 与 VS 2013 中一样 我可以在其中选择 Stimu
  • 如何从验证码中完全删除该行

    我编写了一个程序来删除此验证码中的行 首先 我通过中值滤波器提高图像可见度 def apply median filter self img img gray img convert L img gray cv2 medianBlur np
  • 使用 numpy/scipy 从 3D 数组计算等值面

    我有一个 3D numpy 数组 其中包含给定函数的值 我想计算一个二维等值面 或一组表示该函数的某些值的等值面 在这种特殊情况下 每个一维列 column myarray i j 的 3D 数组可以独立处理 所以我想知道的是函数等于某个值
  • 启用执行功能

    我在共享服务器 apache 上有一个网站 我的一个脚本需要 exec 函数才能工作 但我的网络主机似乎已禁用它 有什么方法可以通过 htaccess 启用它吗 No disable functions指令仅适用于php ini出于安全原因
  • 将 .xfdf 保存为 .pdf

    我目前正在使用 Excel 用表单字段填充 PDF 文件 一切正常 但它将其导出为 xfdf 有谁知道如何将其另存为 pdf 格式吗 FullFileName FilePath Requisition Trim MyRecord Compa
  • 从 ClearCase 迁移到 Git

    我来自 ClearCase 背景 我们 简单地说 的工作流程由三个步骤组成 其中最左边的主干是不稳定的 中间的主干是质量保证 最右边的主干是稳定的 IE A A A B C C E D E E 正如您所看到的 稳定主干仅包含已合格的版本 我