Как правильно использовать GIT в удаленном хранилище? - PullRequest
0 голосов
/ 24 августа 2018

У нас есть команда из 3 программистов и выделенный сервер, который мы загружаем и скачиваем файлы через FTP-клиент.У нас есть редактирование коллизий, и я сразу подумал о GIT.Но как это будет работать в моей текущей настройке?Смотрите ниже:

Сейчас у нас есть 2 удаленных каталога на этом сервере.Одна - это производственная среда для нашего приложения, а другая - разработка.Мы редактируем и добавляем файлы новостей, тестируем их в Интернете, а когда наступает срок обновления, мы перемещаем выбранные файлы в производство.Это просто понять.

С помощью GIT, как я могу разветвлять репозиторий, вносить необходимые изменения и при этом иметь возможность тестировать его в той же серверной среде?Я предполагаю, что GIT будет переходить на мою локальную машину.Мне нужно убедиться, что я тестирую ту же инфраструктуру перед объединением.

Спасибо за любую помощь заранее и извините за длинный пост.

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Звучит как отличный вариант использования Git. Следует иметь в виду, что Git - это распределенная система контроля версий. У каждого разработчика будет свой собственный репозиторий, и вам нужно будет настроить централизованный репозиторий «источника», в котором вы будете делиться работой перед публикацией ее в производство.

Ниже приведено введение в популярный рабочий процесс: Gitflow. Главное, о чем следует помнить, это то, что вы захотите пометить определенные точки в своей истории исходного кода для тестирования, а затем объединить эти изменения в master только после успешного тестирования.

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Рекомендуемая настройка ветки

Упрощая Gitflow для команды из 3 человек, вы можете начать с двух веток: по одной для каждой среды, для которой вы хотите создать сборок для.

  • master => сборки развернуты в производство
  • dev => сборки развернуты для тестирования

Пример процедуры обновления

Приведенные ниже шаги описывают один из способов, которым вы можете подходить к публикации в своих средах тестирования и производства.

  • Передайте изменения в dev и отправьте их в начало
  • После завершения разработки пометьте ветку dev версией (например, dev/1.0.0)
  • Отправьте этот коммит в вашу тестовую среду и проверьте его
  • Если тестирование пройдет успешно, объедините dev/1.0.0 в master, соберите и разверните для производства
  • Если тестирование не пройдено, поработайте над другим исправлением, выполнив шаги, описанные выше
  • Возможно, вы закончите слияние dev/1.0.2 с мастером до следующего официального развертывания, например
  • Когда вы запускаете производство, пометьте master/1.0.2, чтобы вы знали, что оно вышло

Обычно ваша производственная среда должна обновляться через процесс развертывания, который напрямую не связан с git. Вы захотите настроить сборку, которая будет развертывать код из определенной теговой версии в вашем хранилище. Вы можете использовать существующий процесс обновления FTP для этой части.

Материал для чтения

Вот еще несколько ссылок для начала. Надеюсь, это поможет!

0 голосов
/ 25 августа 2018

Обычно рекомендуется использовать для удаленного репо на сервере:

  • голое репо (то есть вы не FTP-файлы, вы отправляете коммиты на них)
  • уникально (нет необходимости в двух репо)
  • с крюком пост-получения, способным обнаружить нажатие ветви (, как я это сделал здесь )
  • сgit checkout --force содержимого «голого» репо в выделенное рабочее дерево ( как здесь )

Таким образом, у вас есть две ветви, каждая из которых перенесена в «голое» репоудаленный сервер, который запускает обновление выделенного рабочего дерева (по одному на ветвь) на этом же сервере.
После проверки ветки dev его можно объединить с веткой master, которая передается втот же самый репо и запускает обновление целевого рабочего дерева.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...