Спор с коллегой. Ведём проект (интернет-магазин), все файлы в git-е. Магазин обращается к внутреннему серверу компании по SOAP за актуальными остатками и скидками. Сервер компании отдаёт эти данные только на определённый ip хостинга на котором лежит магазин, без SOAP ничего не работает. Т.е. развернуть полноценную песочницу на локальном сервере не получится.
Я работаю с проектом в IDE Eclipse через Remote System Explorer, по сути FTP. Работа идёт на dev хостинге (ему тоже открыт SOAP) и изредка на бою (в экстренных случаях). Ветки dev и prod сливаю на отдельной stage копии сайта, после проверки всё уходит в prod. Коллега работает через phpStorm, как я понял там работа с git устроена по другому, суть в том что правки он делает на локальном сервере, т.е. как-то с удалённого сервера где лежит сайт выкачиваются файлы, потом он вносит изменения, как-то их тестирует (я пока не понял, ещё расспрошу об этом подробнее) потом всё уходит в git, а при подключении phpStorm к удалённому серверу он синхронизирут файлы автоматически и на сервер они приходят не из git-а, а как бы заливаются отдельно по FTP. Но на серваке тоже git, он видит их как модифицированные или новые. Получается чтобы залить на сервер правки, нужно через git reset --hard снести их и потом сделать git pull origin master чтобы подтянуть их же из гита. Если сразу не сделать git reset --hard то эти файлы могут спутаться с публичными страницами которые периодически правят контент-менеджеры и SEO-шники прям на бою. Получается их нужно отсеять, где-то сохранить, потом git reset --hard , потом git pull origin master а потом вручную вернуть то что правили SEO и контент.
Я такjй метод работы вижу впервые. Считаю что если нет возможности сделать локально полноценную песочницу, то лучше работать через другую IDE или FTP без всяких автосинхронизаций файлов. Может я ошибаюсь или у моего коллеги что-то не до конца или не правильно настроено в phpStorm?
удалил предыдущий коммент, не так прочитал... монолитный текст одним кусском тяжело читать и переваривать :(
Шторм тут не при чем! В нем велииколепная реализация GIT
Также локально можно работать и очень даже удобно, но опять же -- закоммитил и запушил, это не связано с шайтановской выкладкой кода
Не понял как вы деплоите, но коллега ваш шайтан, коим надо руки рубить! Зачем ему тогда вообще ГИТ если он льет чистоганом на сервер?
Много гибкости -- зло ДА -- в Шторме есть такая фича -- закоммитил и отправил на сервер :) Но в случае с командой -- это ересь, он не понимает, что мешает вам?
Скрин -- внизу справа есть выбор куда лить файлы после коммита
По сути он работает по старинке -- сразу по ФТП, просто прицепом коммитит :):):):)
В Шторме можно из удаленного выкачивать файлы локально, чтобы можно было изменять их без сохранения (еще одна фича) и после коммита лить их также на любой подключенный удаленный хост
Честно -- никогда так не работал, но он видимо недавно пересел с Notepad++ за полноценную IDE и свою философию притащил от туда :):):)
ИТОГ
Нужно коллеге объяснить, что источником кода для боевого сервера -- репозиторий на ветке master
А вообще как вы отлеживаете изменения в файле, если постоянно открываете удаленный файл?
Как бегаете по классам и методам без локальных файлов?
Вы каждый раз открываете удаленный файл?
И вообще -- почему вы не развернете полноценное девокружение на машине каждого разработчика?
почему вы не развернете полноценное девокружение на машине каждого разработчика?
вангую, потому что битрикс.
Работа идёт на dev хостинге
так с битриксом часто делают, потому что он говно и там конченая бд, его сложно локально поднимать.
поднимают на серваке виртуалки и например по сфтп монтируют это творчество себе. так получается худо бедно "полноценное девокружение".
а вот что-то там править на проде это конечно провал.
это обычная синхронизация кода по фтп образно говоря (в шторме есть из коробки), и для проекта где уже есть разделение дев/прод + более одного разработчика от этого надо отказываться для прода. И да, гит тут ни при чем совершенно.
тут один выход, оставить этот магазин и поработать в толковой команде ;)
можно погуглить немного по словам git flow, jenkins как некий задел на будущее)
а при подключении phpStorm к удалённому серверу он синхронизирут файлы автоматически и на сервер они приходят не из git-а, а как бы заливаются отдельно по FTP
Сдается мне, друг ваш - рукожоп. И PhpStorm к этой его проблеме отношения не имеет. GIt он и есть git, причем тут IDE.
Если сразу не сделать git reset --hard то эти файлы могут спутаться с публичными страницами которые периодически правят контент-менеджеры и SEO-шники прям на бою.
А почему бы это вынести в интерфейс админки? Этож контент. Или в другой механизм, не под гитом.
Там можно работать как угодно в phpStorm. Это просто редактор.
C Git можно и нужно работать из командной строки. Там так же есть встроенная утилита для работы с ним. Так же там есть и «своя» система контроля версии – урезанная.
phpStorm может работать и на удаленном хосте - с базой данных и файлами. Так и скачать все себе поправить и залить назад. Так и автоматически любое изменение отлавливать и заливать.
Обычно в таком режиме работают не с продакшенном. А на продакшен все обновляют, когда есть новая версия, которая прошла тесты. Не обязательно файлы заливать в продакшен по SFTP, если у вас там git, то git и обновитесь.