@RamonRa

Как происходит связь тестового и боевого сайтов к одному репозиторию git?

Здравствуйте. Начал изучать git. Понял, что это очень полезные знания как на практике, так и при устройстве на работу. Но одна вещь все не дает мне покоя.
Вот у меня есть сайт с именем mysite.ru. Это боевой сайт/продакшен. Естественно на сервере файлы этого сайта расположены по пути /www/mysite.ru/ Теперь я хочу добавить для сайта систему контроля версий. Я выполнил создание пользователя
git config --global user.email "my-email@mail.ru"
git config --global user.name  "My UserName"

Затем я создал .git репозиторий
cd ~/www/mysite.ru
git init
git add .
git commit -m "Первый коммит"

Отлично, теперь у меня на сервере есть папка .git
Но подождите, неправильно вносить изменения в рабочий сайт, мало ли что. Окей, теперь я создаю второй сайт - dev.mysite.ru, так? И я должен клонировать все файлы с mysite.ru на dev.mysite.ru? Но тогда получится, что будет две папки .git - одна на основном, а другая - на тестовом сайтах. Значит создав отдельную ветку для тех.сайта. Но каким образом я буду пушить изменения именно на dev.mysite.ru, а не на mysite.ru?
И вообще что-то я не совсем понял, как система контроля версий должна работать, если у вас только один сайт? Вот два программиста кодят. Как они должны проверять свой код - написал ты функцию и коммитишь ее на основной сайт? Но ведь ее еще и push-нуть нужно. А если в функции были ошибки? Откатываться к предыдущей версии?
Я явно что-то не неправильно понимаю в работе с git, не могли бы Вы пожалуйста указать, где я не прав?
Спасибо.
  • Вопрос задан
  • 480 просмотров
Пригласить эксперта
Ответы на вопрос 2
gobananas
@gobananas
finishhim.ru
Отлично, теперь у меня на сервере есть папка .git

Папки git на сайте не должно быть

каким образом я буду пушить изменения именно на dev.mysite.ru, а не на mysite.ru

Ветки

Все фичи вы разрабатываете в отдельных ветках, потом всё сливается в dev, ветка dev катится на dev.mysite.ru и тестируется там. Если всё ок - сливается с мастером и мастер катится на mysite.ru

Но ведь ее еще и push-нуть нужно

Пуш делается в ветку (branch)

А если в функции были ошибки? Откатываться к предыдущей версии?

Для этого и есть dev-ветка, тестите там, дорабатываете, опять dev-ветку на dev-сайт выкатываете
Ответ написан
NeiroNx
@NeiroNx
Программист
тестовый синхронизируется со всеми коммитами, а рабочий только с теми где релиз тег. Тоесть протестировал -все ок, создаем релиз тег - и скрипты обновляют рабочий.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы