我一直在阅读有关 Perforce 的内容,但没有找到任何关于工作空间和工作目录之间关系的全面解释,例如文件如何出现在工作区的工作目录中、如何跟踪它们、工作区文件和工作目录文件之间可能存在哪些不一致等。
我来自git背景,所以我正在寻找类似于git中索引和工作目录交互的工作区和工作目录交互的描述。
有关全面信息,完整的 Perforce 文档是在线提供 https://www.perforce.com/resources?qt-resources_tabs=1#qt-resources_tabs。但以下是术语和概念的基本摘要:
- Perforce 是一个客户端-服务器系统。服务器跟踪文件的更改。开发人员使用其计算机上的文件副本对文件进行修改,将这些修改排列到称为变更列表, and submit准备好后将这些更改列表发送到服务器。
- 有关文件的所有信息都存储在服务器上。 Aclient, or 工作区,是有关存储在开发人员工作站上的版本化文件的单个副本的一组配置数据。对于每个工作区,服务器会跟踪:哪些文件当前已同步到该工作区、正在构建哪些挂起的更改列表、哪个用户正在使用这些文件、工作区驻留在哪台计算机的哪个目录中等。
- 将版本化文件的副本放入工作区称为sync;提交包含新文件版本的新变更列表称为submit。随着其他用户提交文件修改,您的工作空间逐渐过时;要使其更新,请发出sync命令,可能后面跟着resolve命令将新提交的更改合并到您正在编辑的文件中。
- 没有 git 的精确模拟index构造。修改后的文件通过提交命令从开发人员工作站上的工作区复制到服务器,然后永久存储在服务器的存档中。 Perforce 中提供了一种稍微不同的工作流程,称为shelf。您可以构建一个包含修改的更改列表,然后使用shelve命令将挂起的更改列表以搁置状态存储在服务器上。待定和搁置的变更列表与以下方式有一些相似之处:
git add
允许您在提交之前组装提交,但也存在许多差异,首先是 Perforce 在服务器上而不是在客户端上跟踪该信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)