Суть вопроса. Есть проект на удаленном (тестовом сервере). На нем инициализирован и работает GIT. В ежедневной работе до 100 веток. На локальном компьютере заведен проект и соответственно Шторм скопировал файлы проекта в локальную папку. При переключении веток на удаленном сервере начинает накапливаться мусор в локальной папке проекта: файлы и папки, не относящиеся к данной ветке, включенной на сервере. Постоянные сообщения о необходимом merge. Доходит до того, что после каждого rebase или pull master просто заново копирую проект в локальную папку. Ну хотелось бы, чтобы Шторм внутри себя видел удаленный GIT.
Как вы решали подобную задачу? Sync работает загадочно, но не верно (не обновляется дерево проекта, если сменить удаленную ветку).
Как вы решали подобную задачу?
UPD:
В левой части phpstorm локальный Project
В правой части - remote host через sftp
При первом download структура дерева папок и файлов равнозначна
Если на удаленном сервере я переключаю ветки, то дерево файлов и папок на удаленном сервере меняется, а на локальном - нет.
К примеру, в ветке branch1 есть папка folder_test. При download она попала ко мне в локальный проект. Теперь я переключусь на удаленном сервере в ветку branch2, там НЕТ папки folder_test и не должна быть, однако в локальном Project она присутствует.
Проблема в том, что этих изменений может быть 1000 в 20 ветках и уследить, соответствует ли локальный Project состоянию Remote host штатными средствами не понятно как.
romancho354, =)
Не проще установить локальный гит, склонировать удаленную репу, а потом пушить туда изменения? Синхронизация шторма мне кажется здесь совершенно не к месту.
Сергей delphinpro, ну вот и было интересно, есть ли какое-то более оптимальное решение. Пушить изменения не проще, так как многие правки делаются именно "на лету": "А давайте в этом месте сдвинем блок на 2px, а в этом месте шрифт жирнее", ну и сама архитектура не позволяет запустить полноценно проект локально.
romancho354, ну можно периодически (и обязательно перед пушем) фетчить удалённые изменения и пуллить их себе в локалку.
Насчет невозможности запустить локально — рассмотрите вариант виртуальной машины с полностью идентичным продакшену окружением.
присоединяюсь к вопросу. Непонятно, что там автор синхронизирует. romancho354,
git clone для начальной инициализации локального проекта
git fetch / pull для забора изменений
git push для отправки наработанного
и никаких других синхронизаций