【发布时间】:2017-07-27 06:07:34
【问题描述】:
我环顾四周,似乎找不到这个特殊难题的答案(这是有道理的,否则我不会在这里问这个问题!)或者至少如果有一个我没有没看懂。
我在 PhpStorm 中创建了一个项目,“Web 服务器在远程主机上,文件可以通过 FTP/SFTP/FTPS 访问”,我一直在对其进行更改,没有任何问题。本项目结构如下:
\Project Root
\
\ Subfolder A
\ Contents A
\
\ Site
\ Site stuff
\
\ Subfolder B
\ Contents B
现在,我得到了这样的结果,因为虽然我正在处理的主要文件位于 Site,但我偶尔需要调整其他子文件夹中的一些内容。
保存项目上传文件没有问题。
我现在遇到的问题是 Site 在使用 Git 的服务器上处于版本控制之下。我可以登录到服务器并在那里做一些 Git 的事情(虽然我对 Git 不太熟悉)但是当我尝试提取一些已经提交到 repo 的更改时(那是上游,是吗?)有一个合并冲突。因为我对此很陌生,所以我宁愿不尝试使用vimdiff 通过命令行解决冲突。
有没有一种方法可以让我通过 PhpStorm 设置 Git,使其仅作用于该特定文件夹,从远程存储库(托管在该项目的另一台服务器上)中提取更改,合并和解决 PhpStorm 中的冲突,然后上传文件以这样的方式在服务器上显示为与当前分支是最新的?
我曾考虑通过 SFTP 从服务器获取 .git 目录,然后将其放入 Site 文件夹中,就像它在上面一样,但我不确定这是否可行。我也认为 PhpStorm 有充分的理由不这样做。
编辑:为了澄清一点,Site 很脏。在我对它们满意之前,我不想提交这些更改,但我现在仍然需要它们在那里。我尝试了存储、拉取、然后应用,但那是我收到合并冲突错误的时候,我想在 PhpStorm 中解决这些冲突。
【问题讨论】:
-
如果
Site文件夹是唯一受版本控制的东西,那么只有这个文件夹会被Git管理。您无需担心其他文件/文件夹与您的 VCS 进程混在一起。 -
@TimBiegeleisen 我不担心它们与 VCS 混在一起,我只需要找到一种方法让 PhpStorm 识别
Site实际上在服务器上的 VCS 下,并知道在哪里repo 是为了拉取更改,以便我可以合并和解决 PhpStorm 本身内部的冲突。如果这有任何意义:P
标签: git version-control phpstorm