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