Есть сайт без git, с которым периодически необходимо работать. Но с ним еще работают другие программисты. Мне нужно сохранять свои изменения и при этом не удалять, сохранять чужие.
Мы хотим работать, как нормальные люди, с использованием гита. Хотя бы локально.
Как я настроил phpstorm:
Создаем новый проект. В настройках создаем ftp (sftp) соединение:

Заполняем стандартные поля для соединения. Тестируем «Test Connection».
В «Root path» проставляем путь до директории сайта, например «/www/mydomen.ru».
Ставим галку отображения скрытых файлов.
Во вкладке «Mappings» в параметре «Deployment path» ставим «/» и сохраняем.
Если в «Root path» путь правильный, то в «Browse Remote Host» все папки и файлы отобразятся зеленым.

Теперь мы можем скачивать себе файлы с сервера и работать с ними локально, используя git.
Для отправки их на сервер нажимаем «Ctrl»+»Alt»+»Shift»+»x» и выбираем наш сервер. Или правой клавишей мыши и выбираем «Deployment» -> «Upload to myserver».
Но! Нам важно, чтобы при открытии файлов через какое-то время, проверялись изменения файлов с удаленным сервером. Иначе мы будем затирать все изменения, которые были добавлены другими разработчиками. Для этого заходим в настройки:

В параметре «Warn when uploading over newer file» (Предупреждать при загрузке поверх более нового файла) ставим «Compare content» (Сравнение содержимого). И ставим галку «Notify of remote changes» (Уведомлять об удаленных изменениях).
Теперь если мы откроем файл, а он был изменен на сервере, мы получим уведомление:

Нажимаем «Download» и он загрузится к нам.
P.S.
Эти телодвижения все равно не гарантируют того, что мы с некоторой вероятностью не затрем чужие наработки. Но хоть чуточку упрощают жизнь и позволяют отлеживать с помощью гит историю изменений скриптов, если с проектом приходится работать достаточно долго.