倘若您那时早已开始参与两个项目组项目,并取得了根本性的重大进展。然而,当你预备递交标识符的这时候,辨认出项目组中的某一人也更动了同两个文档,因此先你一步棋递交了——您那时碰到了标识符武装冲突难题。而且须要花时间去化解他们的更动与自己的更动之间的对立。这被称为分拆武装冲突,是让很多合作开发者郁闷的难题。
甚么是分拆武装冲突?
当两个文档的版早已被递交,而这个版比你用以修正的文档的版要新时,就会出现分拆武装冲突。
第一集该文将探讨甚么是分拆冲突,它们在Git中是怎样出现的,以及怎样透过一些单纯的基本功来精简合作开发,从而防止出现分拆武装冲突。
Git中的分拆武装冲突
Git是这款盛行的开放源码版控制辅助工具。虽然它是合作开发者的好优先选择,但当项目组想协同和处置同两个文档的这时候,用Git会很麻烦事,因为它采用的是分布式系统数学模型,合作开发者时常须要将整个军火库(git clone)帮斗到邻近地区磁盘上,并较长时间处于app状况工作。
然后,当合作开发者预备递交更动(透过“git push”操作方式)时,他可能会辨认出及同几组标识符的其他武装冲突更动早已被递交/发送到了同一组成部分。如果您早已开始采用Git因此碰到分拆武装冲突,以下化解分拆武装冲突的方法能参照。
怎样化解Git中的分拆武装冲突
根据Git协同化解方案,有不同的建议方向来化解分拆武装冲突。
要更动无此取值文档的同一地区中,该手动分拆就会成功。当更动位于同一地区时,Git将在武装冲突文档中加进转义记号,记号合作开发者的邻近地区更动与递交到远距存储库(您早已开始试著递交更动的边线)的新一代更动武装冲突的边线。
这时,您能优先选择删掉他们的更动、删掉自己的更动、留存三组更动或删掉所有更动。决定以后,合作开发者须要再将更动发送回远距存储库。
怎样防止Git中分拆武装冲突
那时,您知道怎样在Git中化解分拆武装冲突,但是否有方法能帮助您预防分拆武装冲突,并防止这些额外的步骤呢?
Perforce Helix Core采用了集中式数学模型,合作开发者连接到中央服务器,服务器知道每个合作开发者在各自的客户端中拥有哪些文档。这种数学模型能否让每个合作开发者都尽早并时常地递交各自的更动,从而消除会导致潜在分拆武装冲突的许多因素。
Perforce Helix Core还提供文档锁定功能,可用于防止武装冲突更动的出现。这些文档锁定功能对于通常无法分拆的二进制文档来说特别有用。
采用流(Streams)进行组成部分和分拆
Perforce Helix Core的组成部分机制被称为流。流精简了组成部分,并提供了两个内置的组成部分关系可视化映射。这种内置的可视化映射称为流图(Stream Graph),可在Helix可视化客户端(P4V)中采用。
当相关组成部分中存在更动时,流图会提醒用户,这些更动应该从父组成部分分拆下来,或者被复制到父组成部分中。此范例鼓励“尽早分拆,时常分拆”的最佳实践,有助于防止巨大的分拆武装冲突。
当Perforce Helix Core中真的出现了分拆武装冲突时,用户能采用Helix Visual Client(P4V)或命令行(P4)轻松化解——解析对话框会引导用户透过可用的选项完成分拆。
借助Perforce Helix Core轻松防止分拆武装冲突
Perforce流只是Perforce Helix Core帮助加速合作开发的众多功能之一。
Perforce Helix Core能处置一切——成千上万的用户,数百万的事务和千兆字节的数据。随着您的项目组和项目的发展,Perforce Helix Core能在全球传送文档和反馈,而无需WAN等待。
Perforce Helix Core最多对五个用户免费。