Задать вопрос
@aradon
PHP-Developer

Как в GIT сделать так, чтобы при пуше в bare-репозиторий, изменения автоматически применялись в главном репозитории?

Итак, есть dev-сервер с доступом к нему по SSH. Есть 2-3 программиста, работающих над одним проектом через PhpStorm. На серверe есть репозиторий и его --bare клон. Задача в том, чтобы при коммите из PhpStorm изменения автоматически появлялись в главном репозитории. Гугл легко подсказывает, что делается это с помощью хуков. В частности путем прописывания на bare-репозитории в post-update инструкции типа:
cd ../myProject
git stash
git pull

НО! Не работают ветки! Если я создам ветку у себя на локальной машине, закоммичу в эту ветку какие-то изменения и попытаюсь сделать пуш, появится сообщение типа "Nothing to Push..." или что-то такое...

Разъясните мне дураку и совсем зеленому новичку в гите, как правильно написать хук, чтобы можно было пушить ветки или может я чего-то не понимаю и никакие хуки здесь вообще не нужны. Как это сделать?
  • Вопрос задан
  • 243 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
Решения вопроса 1
kompi
@kompi
nullstack devoops
У git есть параметр выполнения для произвольно расположенного репо, т.е. "cd .." - можно убрать.
Вы пытаетесь сделать pull в главном репо для текущей ветки, а так как изменений по ней не было, соотвествено, ничего и не происходит.
Т.е. нужно сделать pull всех изменений и сделать checkout на новую ветку.
PS Почему у главного репо выполняется stash, кто там "мусорит"?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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