我正在开发一个使用 Accurev 作为 VCS 的项目。由于我对它一点也不熟悉,我想知道“内部”使用 git 是否是个好主意——这意味着我将在本地使用 git,然后使用 Accurev 进行“官方”提交。
这是一个好的方法吗?
如果是,我自然希望将 git 从 Accurev 版本中排除。有一个看起来像这样的 .acignore 是否足够:
myproject/.git
myproject/.git/*
myproject/.gitignore
谢谢!
我正在开发一个使用 Accurev 作为 VCS 的项目。由于我对它一点也不熟悉,我想知道“内部”使用 git 是否是个好主意——这意味着我将在本地使用 git,然后使用 Accurev 进行“官方”提交。
这是一个好的方法吗?
如果是,我自然希望将 git 从 Accurev 版本中排除。有一个看起来像这样的 .acignore 是否足够:
myproject/.git
myproject/.git/*
myproject/.gitignore
谢谢!
选项:
1) 您可能想查看 AccuRev 的 GitCentric 界面。它将允许您在 Git 中工作并将您的内容显示在 AccuRev 中,反之亦然。这不会直接回答您的问题,而是为您提供一种使用您熟悉的工具的方法。
2) 如果您不熟悉 AccuRev,他们会免费赞助每月的最终用户培训课程。您可以报名参加在线讲师指导的培训。您最常需要的 AccuRev 命令是:保持、提升、更新和合并。同样不是直接的答案,但学习是一生的目标或奋斗,取决于您的预期。
3) 使用 .acignore 文件将 Git 文件排除在 AccuRev 之外是可行的。.acignore 文件旨在让您保持不受 AccuRev 管理的文件(标记为“(外部)”)被执行。
你说“我想知道“内部”使用 git 是否是个好主意——这意味着我将在本地使用 git,然后使用 Accurev 进行“官方”提交。” 这就是作为开发人员的快乐和自由……如果您愿意,您当然可以这样做。您需要小心,因为 Git 不是正式的记录来源,而是 AccuRev 具有该角色。如果您不通过更新命令使 AccuRev 工作区保持最新状态,您可能会发现自己不得不进行许多合并。
如果您确实使用 GitCentric,那么 AccuRev 将是您站点的官方记录来源,但您将能够使用 Git 进行所有工作。
请务必回应您的前进道路,因为我相信那里有许多好奇的开发人员可能想知道。
大卫
您应该能够并排使用 git 和 AccuRev。不过,您可能需要调整您的 .acignore。
从 AccuRev 帮助文件:
例子
全局指定的简单通配符模式(例如“*.doc”)匹配以下任何名称:
docs/chap01.doc
docs/manuals/chap01.doc
docs/widgetproj/src/manuals/usergd/chap01.docdocs/.acignore 中指定的模式 manuals/*.doc 匹配以下任何名称:
文档/手册/chap01.doc
文档/手册/chap02.doc...但不是这些名字:
docs/manuals/usergd/src/chap01.doc
docs/widgetproj/src/manuals/usergd/chap01.doc但是,使用 ** 来指定递归,如手册/ * **/ *.doc or manuals/**/ chap .doc 将匹配docs/manuals 目录下任何目录中出现的任何 *.doc 或chap .doc。有关使用 ** 的更多信息,请参阅第 12 页的忽略模式中的通配符。
您可以同时使用两者,但您可能不应该这样做。他们使用完全不同的底层模型——(灵活与静态分支(Git vs Clearcase/Accurev))和(什么是对Accurev如何工作的单句解释?)。
我已经尝试过了(顺便说一句,我几乎与所有主要的 SCM 合作过。Accurev 和 Clearcase 是最差的,Git 和 SVN 是最好的),并且在大型项目中,处理双重提交很快变得更加令人头疼/merge/overlap 比它只与 Accurev 一起工作。这是因为 Accurev 对子流/工作区进行“静默”更新。这意味着对于大型团队或经常更新的 Accurev 流,您通常必须在 Git 中处理每次提交的差异。尽管这听起来像是一件好事,但必须每天至少为多个文件执行一次此操作,其中一些需要合并只是不好玩(或富有成效)。
所以,好吧,你在想,这个插件怎么样?好吧,坦率地说,它的实现非常糟糕,而且在已经有些笨拙的 Accurev UI 之上,它只是良好工作实践和简化 SCM 流程的另一个障碍。
对于最初提出这个问题的人来说,这肯定为时已晚,但对于其他遇到这个问题的人来说,我的建议是(我知道 Accurev 所谓的最佳功能,父母自动更新孩子,实际上是最糟糕和最根本错误),只是把它放在下巴上并接受与Accurev合作的痛苦,直到你可以转向像Git这样更明智的东西。
AccuRev 和 Git 也可以使用 GitCentric 产品进行集成。如果您已经拥有 AccuRev 许可证,则 GitCentric 需要支付少量额外的许可证费用。您可以在以下网址找到更多信息:
我没有亲自使用过它,但legit-the-git是一个 Ruby 项目,用于将您的本地 git 与 Accurev 系统同步。