通过命令行强制取消搁置合并

问题描述 投票:0回答:2

如何指示 perforce 命令行在取消搁置时合并文件而不是覆盖它们?

用例如下:我有一个更改“my_file”的架子。在架子的“干净”(p4恢复...)所有者上,我更新到最新版本。然后我想取消搁置,但该操作应该合并任何潜在的冲突,而不是覆盖它们。这可以通过命令行实现吗?

这是 取消搁置文件时如何指示 Perforce 进行合并而不是覆盖或恢复?.

的命令行版本
perforce
2个回答
2
投票

如果您的工作空间“干净”,就不会有冲突。 该文件将被取消搁置为原来搁置的版本;如果您同步到不同的版本,将会自动安排解析。

如果您的本地文件已打开,取消搁置将自动安排解析(至少对于当前版本;旧版本将拒绝取消搁置打开的更改)。

如果您的本地文件被修改但未打开,您可能会遇到您所描述的覆盖行为。 不要那样做。 :) 在取消搁置之前使用“p4 reconcile”以确保修改的文件正确打开,或使用“p4 clean”放弃这些修改。


0
投票

如果仓库中的文件被其他用户更新,并且您需要合并搁置的文件,您应该运行以下命令

p4 sync
p4 unshelve
p4 sync
p4 resolve

这里有一个简短的解释:

从仓库获取最新版本:

p4 sync

取消搁置您的变更列表。现在

p4 diff
显示文件已被替换:

p4 unshelve -c <changelist>

再次运行同步!现在您应该看到类似以下内容:“提交之前必须解析#19,#21”:

p4 sync

解决冲突,他的命令将合并你的文件并解决冲突(你可以使用-am进行自动合并):

p4 reslove -am
© www.soinside.com 2019 - 2024. All rights reserved.