1

Perforce 中的路径包含文件 a.txt 和 b.txt。我将主路径称为主线。

我从那里创建了一个仅包含 a.txt 的分支(称为 initialbranch)。我对 a.txt 做了很多修改,对此我很满意。但是,它还没有准备好提交回主线。我可以轻松地将主线中发生的任何更改集成到 a.txt。

另一个项目出现了,它需要从初始分支进行更改。现在,假设我想对 b.txt 进行更改,并希望能够集成在初始分支和主线中发生的更改。目前,我从 initialbranch 分支(称这个新分支为 secondbranch)。以前我一直在将 b.txt 添加到初始分支,然后将我的更改集成到第二个分支。有没有更好的方法来做到这一点?

对不起,如果这个问题看起来有些复杂,我已经尽我所能表达了!

谢谢,

多姆

4

2 回答 2

3

我不相信我理解你的问题,但我会尽力提供帮助。

如果你说你真的不想在 initialbranch 中使用 b.txt,你可以像这样定义一个分支规范:

initialbranch/a.txt secondbranch/a.txt
mainline/b.txt secondbranch/b.txt

这样,当您使用“secondbranch”分支规范进行集成时,您在 secondbranch 中的更改将被推送到初始分支或主线。

如果您不想将更改直接从 secondbranch 推送到 mainline,那么请执行您已经在做的事情:将 b.txt 从 mainline 集成到 initialbranch,然后从 initialbranch 到 secondbranch。在第二个分支中处理它,然后将更改依次集成回初始分支和主线。

于 2008-10-29T16:53:32.867 回答
2

也许图表可能会有所帮助?

 a,b------------------------------------------------------> mainline
      \ branched                             / integrated back in
       \-a----------------------------------/------------> initialbranch
                     copied from mainline  /
                     -b-------------------/--------------> secondbranch

perforce 中的分支成本很低,因此我通常会分支整个目录结构而不是单个文件。

这样做还为时不晚。正如埃里克森所说,您可以从主线分支到您的开发分支,而不是将文件复制/添加到第二个分支。

 a,b--------------------------------------------------> mainline
      \ branched    \                             / integrated back in
       \-a-----------\---------------------------/----> initialbranch
                      \ branched from mainline  /
                       -b-----------------------------> secondbranch
于 2008-10-29T17:22:24.727 回答