Задать вопрос
@rhamdeew
Веб-разработчик

Как правильно разворачивать приложения при помощи Git?

Всем доброго времени суток!
На данный момент я использую очень простой вариант деплоя когда на сервере срабатывает хук post-receive и в нем делается git checkout -f branchname
Все меня устраивает, но проблема вот в чем. Если я создаю в проекте файл то при деплое он появляется на сайте, а вот если я делаю в проекте git rm filename то деплой проходит, но файл так и остается на сервере (что логично, мы ведь тупо разворачиваем текущую ветку в директорию). Так вот вопрос - как правильно реализовать деплой чтобы все файлы подконтрольные системой контроля версий добавлялись и удалялись, но при этом директории которые не под контролем системы оставались на сервере (к примеру директория /upload)
  • Вопрос задан
  • 2496 просмотров
Подписаться 3 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 1
@rhamdeew Автор вопроса
Веб-разработчик
А все, всем спасибо!
Решил вопрос сам.
Итак схема теперь такова - при пуше на удаленный сервер в хуке post-receive вот такой код
#!/bin/sh
git --git-dir ~/test/.git --work-tree ~/test/ pull


Правда сперва пришлось первый раз склонировать репозиторий в ~/test, зато теперь все работает
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@andymitrich
Software Developer
Разворачивайте всё в одной ветке master, например.
Ответ написан
@angry_bender
PHP, JS
чекаутитесь в новый релиз. а файл - хрен с ним, если он не используется, не инклудится, как разница, есть он физически или нет
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽