如何删除Perforce中的功能分支(或任何分支)?

时间:2015-06-05 22:53:01

标签: perforce

我是Perforce的新手,我刚刚开始熟悉Perforce的分支功能。我不明白的一件事是,在我使用它之后如何删除 feature 分支,并且更改已经合并回主线分支,就像在Git中使用功能分支一样。

您可以删除perforce中的分支机构,还是永久保留在Perforce中?

2 个答案:

答案 0 :(得分:3)

如果它是一个任务流(这是我推荐的短期“功能分支”类型流),你可能想要“卸载”它:

p4 unload -s //depot/task_stream

这基本上就像使用“p4 stream -d”删除流一样,除非您可以稍后将其恢复。与“p4 stream -d”一样,它也没有删除流中的所有文件;您修改的那些保留在库中(以便您可以按照合并记录返回原始提交,如果您愿意),但所有未修改的文件都被卸载(而使用“stream -d”它们已经消失了不是任何方便的记录,他们在父母中匹配的确切版本 - 你可以在事后重建它,但它更难)。使用“p4 reload”可以使任务流恢复生机。

如果它是普通流和/或您想永远摆脱它,包括其库路径中的原始更改,您需要成为管理员(Perforce中提交的更改通常被认为非常重要且不可变,除非您是管理员)并使用“obliterate”命令,然后删除流规范:

p4 obliterate -y //depot/your_stream/...
p4 stream -d //depot/your_stream

根据您的描述,我肯定会建议您使用功能的任务流,并在完成后“卸载”它们。

如果你根本不使用流,那么分支的标准做法是在你完成它们时留下它们,或者重用它们(即有一个正在进行的开发分支,你将它合并到主线中)你完成每个功能)。你可以删除一个分支(如上面的流示例中所述),但由于这需要管理员权限,因此它并不典型。

答案 1 :(得分:0)

使用命令行工具p4 branch -d BranchName。或者你在使用Streams吗?