我正在学习如何使用Perforce进行版本控制,因此我对其过程的理解很薄弱。 PhpStorm 2017是我的IDE。
我希望尽可能使用IDE进行版本控制操作,因此我成功地将IDE连接到Perforce客户端(instructions)。我创建了一些文件,在P4V中,它们出现在Default pending changelist中。完成后,在PhpStorm中,我选择了“菜单栏>> VCS>>搁置更改...”希望看到文件移动到Perforce中更改列表中的架子。
相反,文件已经消失了,我能说清楚。它们已从OS文件夹结构中删除,并且不会在默认更改列表或任何工具架中显示在Perforce中。
我需要帮助搞清楚:
答案 0 :(得分:1)
首先我需要了解一些概念:
无法找到我的文件,因为“主菜单&gt;&gt; VCS&gt;&gt;搁置更改... ”将它们放在IDE的架子上,而不是Perforce的。 IDE的架子位于<project-root>/.idea/shelf
这导致了我的基本误解。我以为我的文件丢失了,因为我在操作系统文件夹中看不到它们,但缺少的是更改对这些文件。这是因为文件是新的 - 因此更改是由整个文件组成 - 看起来好像文件本身丢失了。
当我搁置时实际发生了什么:文件被回滚到之前提交的状态(在我的情况下不存在),并且更改保存在架子上
按Alt + 9
会显示此工具窗口。物品被搁置后,会有一个Shelf
标签。从那里,我能够看到变化,并取消了它们。因此我收回了我的文件!
打开版本控制工具窗口,然后选择“本地更改”选项卡。右键单击该选项卡中已更改文件时可见的一个上下文选项是“搁置更改... ”。这相当于我最初的做法,它将把文件更改放在IDE的架子上。当Perforce集成到IDE项目中时,我实际想要的选项显示为:“在Perforce中搁置...... ”
此选项将在Perforce工具架(在Perforce服务器上)中放置文件更改,并将工作目录回滚到上次提交状态。在版本控制工具的“工具”选项卡中不会显示更改(因为此选项卡仅显示IDE工具架)。要浏览Perforce功能区,请转到该工具的“本地更改”选项卡,右键单击相应的Perforce更改列表 - 看起来像<LIST-NAME> - Perforce #<LIST-NUMBER>; x shelved changes
- 并选择“浏览Perforce搁板... “