有没有简单的方法可以从p4 sync
排除特定的更改列表?
我想要同步我的代码,但我不想从更改列表中获取更改#1337
赞:p4 sync //depot/source/... - //depot/source/...#1337
?
答案 0 :(得分:2)
实现此目的的最佳方法是同步到头部,然后使用P4V中的“退出提交的更改列表”功能(“已提交”窗格,右键单击不需要的更改列表,选择“退出提交的更改列表”)。
这将在您的工作区中创建一个新的待处理更改列表,并删除了不需要的更改。
答案 1 :(得分:0)
可以通过同步到一个范围并使用两个命令来“跳过”更改列表。
p4 sync //depot/source/... - //depot/source/...@0,@1337
p4 sync //depot/source/... - //depot/source/...@1337,#head
注意:您可能必须在要跳过的那一侧指定更改列表 - 不确定该范围是否包含在内。
HTH,
丹尼斯
答案 2 :(得分:0)
好的,这取决于你想做什么。男人我真的很想念git :(
如果您只想同步并暂时忽略更改列表,则可以执行第一个回复所述内容并退回更改列表。请记住不要检查更改列表,除非您要清除分支的忽略更改列表。但是,如果您需要更改忽略的更改列表中存在的文件,则此方法将不起作用。
如果您需要使用忽略的更改列表中的相同文件,则可以执行以下操作。但有一点需要注意的是,忽略的更改列表将从远程分支中拉出,直到您可以将它们放在代码中。 (还有一个选择,但需要其他人做某事) 如果你想忽略一个更改列表,而不是完全摆脱它,但只是能够将你的代码放在一边,那么以下内容就可以了。
如前所述,退出更改列表。 提交已退出的更改列表以清除远程分支中的更改。 (别担心)
现在又做了另一个退出,但这次退出了由前一个退出的chagelist并将其搁置。退出后退将是一个挂起的更改列表,它基本上是您要忽略的更改列表的副本。一旦搁置,即使是在相同的文件中,您也可以继续工作。不利的一面是,现在忽略的更改列表仅存在于您的工作空间中,由您来提交或决定在某些时候如何处理它。
您可以保留被忽略的更改列表,直到您知道要对其执行操作为止。如果在您处理代码之后,您希望重新整合该chagelist并将其与您的合并,您可以简单地取消它并解决冲突。
所以(其他选项) 您可以在另一个拥有perforce帐户的开发人员的帮助下完成上述操作(也许是您想要忽略的更改列表),在这种情况下,您可以让他们退回更改列表并提交,然后您可以同步,然后他们可以退出他们的退出。在这种情况下,远程分支在您处理代码时不需要保持奇怪的状态。最大的缺点是,每次想要同步时都必须这样做。
更好的选择是在像这样的问题出现之前进行分支,但这并不像git那样简单或轻量级。
希望其中一个选项可以帮助或激发其他人的压轴和完美解决方案。