1

有什么简单的方法可以排除特定的变更列表p4 sync吗?

我想同步我的代码,但我不想从 changelist #1337 中获取更改

喜欢:p4 sync //depot/source/... - //depot/source/...#1337

4

3 回答 3

2

完成此操作的最佳方法是同步到头部,然后使用 P4V 中的“退出提交的更改列表”功能(“提交”窗格,右键单击不需要的更改列表,选择“退出提交的更改列表”)。

这将在您的工作区中创建一个新的挂起更改列表,并删除不需要的更改。

于 2010-08-13T22:10:49.570 回答
0

可以通过同步到一个范围并使用两个命令来“跳过”更改列表。

p4 sync //depot/source/... - //depot/source/...@0,@1337
p4 sync //depot/source/... - //depot/source/...@1337,#head

注意:您可能必须在要跳过的任一侧指定更改列表 - 不确定范围是否包含在内。

高温下,

丹尼斯

于 2010-08-13T01:24:28.990 回答
0

好的,这应该取决于你想要做什么。伙计,我真的很想念 git :(

如果您只是想同步并暂时忽略更改列表,您可以按照第一个回复所说的操作并退出更改列表。请记住不要检查该更改列表,除非您想清除分支的忽略更改列表。但是,如果您需要对已忽略更改列表中存在的文件进行更改,则此方法将不起作用。

如果您需要使用忽略的更改列表中的相同文件,您可以执行以下操作。但是要注意的一件事是,忽略的更改列表将被拉出远程分支,直到您对它们在您的代码中感到满意为止。(还有另一种选择,但需要其他人做某事)如果您想忽略更改列表,而不是完全摆脱它,而只是能够将其放在一边处理您的代码,以下将起作用.

如前所述退出更改列表。提交已撤消的更改列表以清除远程分支中的更改。(不用担心)

现在再次退出,但这次退出前一次退出创建的 chagelist 并将其搁置。这个back out of back out 将是一个挂起的更改列表,它基本上是您想要忽略的那个的副本。一旦它被搁置,你就可以开始你的工作,即使是在同一个文件中。不利的一面是,现在被忽略的更改列表仅存在于您的工作空间中,由您来提交或决定在某个时候如何处理它。

您可以将忽略的更改列表搁置,直到您知道要使用它做什么。如果在编写代码之后,您想重新集成该 chagelist 并将其与您的合并,您可以简单地取消它并解决冲突。

所以(其他选项)您可以在另一个开发人员的帮助下使用 perforce 帐户(可能是您想要忽略的更改列表)在这种情况下执行上述操作,您可以让他们退出更改列表并提交,然后您可以同步,然后他们可以退出他们的支持。在这种情况下,当您处理代码时,远程分支不需要保持奇怪的状态。最大的缺点是,您每次想要同步时都必须这样做。

更好的选择是在这样的问题出现之前进行分支,但这在性能上不像在 git 中那样容易或轻量级。

希望这些选项中的一个可以帮助或激发其他人的结局和完美的解决方案。

于 2015-02-26T20:10:31.403 回答