什么是Perforce"搁置"文件?

Der*_*har 29 perforce shelving

在Perforce中,什么是"搁置"文件?搁置在工作区中打开以进行编辑的文件的目的是什么?

SLa*_*aks 29

从Perforce 文档:

搁置是在Perforce Server上临时存储正在进行的工作而不提交更改列表的过程.当您需要在同一组文件上执行多个开发任务(例如来自更高优先级工作的中断,跨多个平台进行测试)或共享文件以进行代码审查之前,搁置非常有用,然后才能将您的工作提交到软件仓库.

p4 shelve命令在挂起的更改列表中创建,修改或丢弃搁置的文件.搁置的文件在仓库中保留,直到它们被丢弃(通过p4搁置-d)或由后续的p4搁置命令替换.

搁置文件后,您可以在客户端工作区中还原或修改它们,并使用p4 unshelve命令将这些文件的搁置版本还原到工作区.当文件被搁置时,其他用户可以将搁置的文件取消搁置到自己的工作空间或其他客户端工作空间中.

使用版本说明符@ = change,也可以使用p4 diff,p4 diff2,p4文件和p4打印命令访问已搁置的文件,其中change是挂起的更改列表编号.

如果未指定参数,则p4 shelve会创建一个新的更改列表,从用户的默认更改列表中添加文件,并且(在用户完成类似于p4 submit所使用的表单之后),将指定的文件存储到库中.如果给出了文件模式,则p4搁置仅搁置与模式匹配的文件.

  • Perforce"搁置"命令的目的听起来与`git stash`类似,但是Git在本地工作区存储一个存储区(就像每次更改一样),Perforce"搁置"存储库中的更改. (9认同)
  • 我相信`git stash`也会自动恢复(或以Git术语重置)工作区中的文件,其中Perforce为您提供了还原文件的选项. (8认同)