【发布时间】:2023-03-26 19:46:01
【问题描述】:
我是 Perforce 新手,我刚刚开始熟悉 Perforce 的分支功能。我不明白的一件事是如何在我使用完 feature 分支并将更改合并回主线分支后删除它,就像在 Git 中使用功能分支一样。
您可以在 perforce 中删除分支还是永久保留在 Perforce 中?
【问题讨论】:
标签: perforce
我是 Perforce 新手,我刚刚开始熟悉 Perforce 的分支功能。我不明白的一件事是如何在我使用完 feature 分支并将更改合并回主线分支后删除它,就像在 Git 中使用功能分支一样。
您可以在 perforce 中删除分支还是永久保留在 Perforce 中?
【问题讨论】:
标签: perforce
如果它是一个任务流(这是我推荐的短期“功能分支”类型流),您可能想要“卸载”它:
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
根据您的描述,我绝对建议您使用任务流来获取功能并在完成后“卸载”它们。
如果您根本不使用流,则使用分支的标准做法是在使用完它们后将它们留下,或者重新使用它们(即有一个正在进行的开发分支,您将其合并到主线中您完成每个功能)。您可以删除一个分支(如上面流示例中所述),但由于这需要管理员权限,因此并不典型。
【讨论】: