- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我来自 ClearCase 背景,我们(简单地说)有一个由三个步骤组成的工作流,其中最左边的主干是不稳定的,中间的主干是质量保证,最右边的是稳定的。即)
A A A
| | |
B C |
| /| |
C | E
| | /
D E
| /
E
如您所见,稳定主干仅包含已合格的版本。我在 Git 中复制此工作流程时遇到问题,因为版本 B、C 和 D 也被推送到 QA 主干,随后是稳定主干。在我看来,这违背了只包含稳定版本的“干净”主干的目的。
现在 Git 和 ClearCase 之间存在明显的根本差异,我确信这可以解释为什么我无法使用我以前的概念来指定工作流。
几天来,我一直在努力研究这些新的 SCM 工具(我也研究过 Mercurial),并且真的可以使用一些关于如何进行的指示。我们在 Mac 和 Windows PC 上进行开发,与命令行相比,绝大多数团队更喜欢 GUI 工具。
谢谢! :-)
最佳答案
首先你可以阅读这个comparison between ClearCase and Git
如 Middle-ground between submodules and branches? 中所述,当来自 ClearCase 时,可能会欺骗您的一个概念是组合(配置继承)的概念:参见 Flexible vs static branching (GIT vs Clearcase/Accurev) .
ClearCase 按文件工作(或按事件工作,每个事件都是一组文件)。
Git 逐个 blob delta 处理 blob delta(每个 blob 代表一个内容:如果两个文件具有相同的内容,则只存储一个“blob”)
这意味着您尝试通过分支/流和事件(如果您正在使用 UCM)在 ClearCase 中执行的操作将更有可能通过以下方式实现:
重新排序+ merge (仅针对尚未“发布”,即未推送的提交):
您正在重新排序应用于代码的修改增量,以便仅 merge 您想要的内容。
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
您还可以通过自己的 git 存储库来表示每个代码提升。
一旦提交顺序正确,您将相关分支推送到 QA 存储库或稳定存储库。
重新排序(历史重写)是:
git rebase
手册页。另见:
关于git - 从 ClearCase 迁移到 Git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510682/
ClearCase 中的分支和流有什么区别? 最佳答案 分支是并行化给定文件的版本历史的经典版本控制方式:参见“When should you branch A Stream is not a bra
我想问一下ClearCase中的派生对象到底是什么以及如何工作。 另外我想问是否有其他程序具有相同的功能,因为在 Git、MKS 或 IBM® Rational Team Concert™ 中我找不到
我有一个关于 ClearCase 的小问题。请帮帮我!配置规范什么时候开始起作用?当我单击 CHECK OUT 或 CHECK IN 时?我有 test.c 和配置规范 element * CHECK
我是一个 ClearCase 新手,直到现在已经习惯了 SVN。因此,我对创建包含多个文件到 ClearCase 的新目录结构所需采取的步骤感到有些困惑。 因此,举例来说,ClearCase 中有一个
我想重新加载一个 View (之前创建的)而不是创建一个全新的 View 。 两种场景: 1 - 硬盘崩溃,本地 View 不再存在。 2 - 使用 ClearCase 设置了一台新笔记本电脑。 在这
我最近离开我们组织的 friend 也未删除他的 ClearCase View 。 现在我们想删除它。 我试图删除但它不允许。它说: Unable to remove "\\hostname\view
我们正在使用 ClearCase UCM,有人问我是否有办法从特定时间获取所有版本。 示例:正在开发流上完成工作。有人破坏了构建,但之前的基线太远了,我们会失去太多的工作。他们想获取上周四上午 11:
有没有办法使用 ClearCase 自动化层或通过创建 perl 脚本为多个目标构建?我想在 checkin 项目时自动为 Linux 和 Windows 构建过程。任何输入将不胜感激。 问候, 马格
我的基本 ClearCase 配置规范是这样的: element * CHECKEDOUT element * .../Branch_F13R2/LATEST 一切都很好,但我想知道什么是 .../在
我有一个开发团队发布的要求,要求撤销给定 UCM 事件中的所有更改。限制是我们没有删除权限。这意味着我知道我可以执行 lsactivity 来列出事件中的所有元素及其各自的版本,然后在简单的世界中就可
我有一个带有文件夹和两个文件的 ClearCase View 。我 checkout 文件夹,删除文件并重新 checkin 文件夹。我只剩下一个文件夹和一个文件。有没有办法找回我的文件?我正在使用标
用明确的案例术语来说,集成流和集成 View 有什么区别?发展流和发展观? 更具体地说,为什么“joining an UCM project”涉及创建集成和开发 View ? 如果我是开发人员而不是集
是否可以使用 cleartool 获取我在给定源代码目录树中所做的所有 checkin 的列表?如果可能的话,我想看看签到的时间和文件版本。我正在使用 Windows。 提前致谢。 最佳答案 这将涉及
我正在尝试使用 annotate 但遇到了一个问题:如果之前为同一版本显示过某些信息(日期和用户名),则输出会忽略它。我想在任何一行中显示它们。 这是我的命令: cleartool annotate
有人知道如何在 Windows 上的 ClearCase UCM (v8) 中搜索具有特定属性的事件吗? 我已经尝试了“cleartool find”的各种排列,但每次我运行它时都找不到任何东西(或者
我在不同的目录中创建了一些文件。我创建时无法添加它们,所以我需要稍后再添加。 有没有办法获取 ClearCase View 中实际上不受源代码控制的所有文件的列表? 最佳答案 是:您可以使用 Clea
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果你觉得这个问题可以改进并可能重新打开,visit the he
我已经为我的版本应用了完整的基线。对于前。基线“MYProj_2.0.0.20”。 然后测试团队发现了一些重大问题。为了解决这个问题,开发团队进行了一些更改。 完成构建后,我再次应用了相同的基线“MY
我的一位同事报告了 Clearcase 中的一个特殊问题。 (这是一个基本的透明外壳 View 。) 当他将文件从 Windows 资源管理器拖放到 Clearcase 资源管理器时,文件名会自动转换
尽管有代码,但我得到的元素大小为 0。如何解决此错误? 最佳答案 有两种可能性: 如果,当您将鼠标悬停在“???”上时图标,您会看到“已加载但缺失”,然后您应按照 中的说明进行操作 http://ww
我是一名优秀的程序员,十分优秀!