Perforce中的路径包含文件a.txt和b.txt。我将主路径称为主线。
我从那里创建了一个分支(称为initialbranch),它只包含a.txt。我对a.txt进行了很多更改,对此非常满意。但是,它还没有准备好提交回主线。我可以轻松地将任何更改集成到主线中出现的a.txt。
另一个项目出现,需要从initialbranch进行更改。现在,假设我想对b.txt进行更改,并希望能够集成在initialbranch和mainline中发生的更改。目前,我从initialbranch分支(称为新分支secondbranch)。以前我一直在将b.txt添加到initialbranch,然后将我的更改集成到secondbranch。有更好的方法吗?
对不起,如果这个问题看起来有点令人费解,我已尽力表达了这一点!
谢谢,
的Dom
答案 0 :(得分:3)
我不相信我理解你的问题,但我会尽力帮助。
如果你说你不想在initialbranch中使用b.txt,你可以像这样定义一个分支规范:
initialbranch/a.txt secondbranch/a.txt
mainline/b.txt secondbranch/b.txt
这样,当您使用“secondbranch”分支规范进行集成时,您对secondbranch的更改将被推送到initialbranch或mainline。
如果您不想直接将更改从secondbranch推送到主线,那么请执行您已经在做的事情:将b.txt从mainline集成到initialbranch,然后从initialbranch集成到secondbranch。在secondbranch中处理它,然后将更改连续地集成到initialbranch和mainline。
答案 1 :(得分:2)
也许图表可能会有所帮助?
a,b------------------------------------------------------> mainline
\ branched / integrated back in
\-a----------------------------------/------------> initialbranch
copied from mainline /
-b-------------------/--------------> secondbranch
perforce中的分支很便宜,所以我通常会分支整个目录结构而不是单个文件。
这样做还为时不晚。正如埃里克森所说,不是将文件复制/添加到secondbranch,您只需从主线分支到您的开发分支。
a,b--------------------------------------------------> mainline
\ branched \ / integrated back in
\-a-----------\---------------------------/----> initialbranch
\ branched from mainline /
-b-----------------------------> secondbranch