@mit5x

Как использовать git в веб-студии?

Здравствуйте!

У вас с товарищем, маленькая веб-студия. Два разработчика. Очень часто, вдвоём работаем над одним сайтом и бывает нужно трогать одни и те же файлы. Работаем ч/з ftp.
Понимаю, что нужно внедрять GIT, т.к. согласовывать кто какой файл сейчас открывает уже надоело.

Сейчас у нас выстроилась сл. схема:

sitename.ru - реальный сайт. Актуальная, рабочая версия сайта .
test.sitename.ru - копия сайта, на котором ведется текущая разработка, тестирование.
С test на реальный перекладываем ч/з ftp. Т.е. скачали по ftp с test на локальную машину, а потом с локальной машины так же по ftp перекачиваем на реальный (колхоз конечно).

разработчик №1 работает с test.sitename.ru напрямую ч/з ftp (notepad++)
разработчик №2 выкачивает периодически к себе на локальную машину содержимое test.sitename.ru. На своей локальной машине запущен веб-сервер, он делает у себя правки и по мере завершения задач, закачивает обновления ч/з ftp на test.sitename.ru

Соотв. периодически мы друг у друга файлы перезатираем и это достало.
Вот схема как оно сейчас:
5dba9a10553b3776829744.png

Нужно внедрять ГИТ и тут у меня есть ряд не ясных моментов:
1) Репозитарий, это что-то отдельное, самостоятельное, лежащее в стороне от тестового и реального сайта?

2) Или у каждого разработчика свой репозитарий? Но как тогда происходит синхронизация данных, если мы оба один и тот же style.css поправили?

3) Разработчик №1 так же должен будет поставить у себя на ПК веб-сервер, и работать локально?

4) Какая схема функционирования верная?
раз:
5dba9b5962b11262330116.png
или два:
5dba9b6223a78270921749.jpeg

Хочется хотя бы до уровня тестового сервера, отказаться от ftp вообще.
  • Вопрос задан
  • 238 просмотров
Решения вопроса 1
@MrFeaf
PHP-developer
Берёте GitLab, создаёте в репозитории две ветки: dev и master. Настраиваете деплой (CI/CD) с ветки dev на test.site.ru, с master - на продакшен, тоесть site.ru. Соответственно, при внесении изменений в ветку, изменения сразу загружаются на сервер, а при "затирании" файлов друг друга будет выдано предупреждение и вы сможете объеденить два файла в один
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
1) Репозиторий - это одно хранилище файлов, которое находится где-то и вы, и ваш напарник заливаете туда коммиты, они же правки.
2) У каждого проекта свой репозиторий. Файлы сливаются в 1 автоматически. Если git не сможет этого сделать - он спросит, как именно слить файлы. Но обычно файлы сливаются самостоятельно очень легко.
3) Оба разработчика должны работать и тестировать фишки локально или на своём сервере. У вас не должно быть общего сервера, а то вы так и будете перетирать друг друга. По завершению правок - доработка заливается в общий репозиторий и уже он деплоится (автоматически или руками) на боевой сервер, минуя ваше звено с test.site.ru. Если нужно, чтобы кто-то тестировал, например, заказчик проверял правки перед выкадкой на основной сайт - создаёте отдельную ветку, в которой ведёте разработку. Эта ветка будет выкатываться на test.site.ru, потом она будет вливаться в master-branch и выливаться на основной сайт.
4) Вторая схема верная

Материалы по теме:
https://git-scm.com/book/ru/v1/%D0%92%D0%B5%D1%82%...
ruwhynot.com/2016/03/08/briefly-about-gitflow
Ответ написан
Комментировать
alternativshik
@alternativshik
git-flow посмотрите.
Ответ написан
Комментировать
OtshelnikFm
@OtshelnikFm
Обо мне расскажет yawncato.com
Гит пока вам не нужен - вы должны выстроить работу, а не браться за одну задачу одновременно.
Возможно у вас так получается править один файл - потому что он на 100500 строк?
Разбивайте эти файлы по логике и ООП конечно же.
Если один занимается фронтом - пусть не лезет в бек.
Ставьте задачи в asana например и столбите их в начале рабочего дня.
Принимать решения по слиянию должен один. Один проект - один ответственный. Чтобы было не обидно и на равных - поделите поровну ))

notepad++ в топку. Надо расти. Netbeans (ага - его хоронят а он за год уже несколько раз в инкубаторе апач обновился. Живей живых и умеет многое для вебразработки) или VSC например из бесплатных. Первый умеет гит на почти 100% (я не сталкивался с задачей чтоб он не смог его).

Как выше сказали гит репозиторий должен иметь ветки - по разрабатываемой фиче например или версии. Потом сольете в один.
У каждого разработчика свой локальный или удаленный сервер. Но не один общий. Я часто переезжаю и удаленный сервер мне помогает в этом. Нетбинс его умеет по дефолту. VSC придется шаманить выбирая из тысяч плагинов. Это та еще свистопляска.
Деплой на боевой сайт осуществляйте через вебхуки гитхаба или через CLI

И запомните - даже маленькую правку нельзя делать на боевом сайте. Правильно подобранные инструменты и организованные процессы выкинут из головы дурь типа "да там чуток подправить, так быстрей"

Тестирование.... это наверное оставили на "потом"?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы