Как правильно работать с веткой после git push --force?
При разработке у нас сложилась такая схема работы с git:
- локальная копия
- some-devel - рабочая ветка разработчика на сервере
- dev - общий ветка разработки
- master - препродакшн
для каждого разработчика выделен свой поддомен somedevel.dev.site куда автодеплоится его ветка
общая ветка разработки тоже автодеплоится
Также действует принцип: каждой задаче по ветке, после ее теста она вливается в общую
в свою ветку somedevel я нередко делаю git push --force что бы показать ту или иную ветку, или разные варианты
а в общую ветку разработки я вливаю уже аккуратные коммиты используя git rebase -i HEAD~
Вопрос в том как своем поддомене автодеплоем получать актуальный вариант ветки, если ветка нередко заливается git push --force
Если делать git pull то он пытается слить, что только мешает
Неужели git fetch; git checkout origin/somedevel ?
ну или git fetch && git reset origin somedevel --hard
вы же понимаете что --force это... не хорошо.
Попытайтесь чуть перестроить свой подход разработки так что бы не приходилось делать push --force (хотя в принципе плохого в этом ничего нет, при вашем флоу). Вы тип постоянно ветки друг дружки ребейзите?
Отслеживать теги по какому-то шаблону. Это проще и не даст интересных эфектов в случае человеческой ошибки.
Сделайте отдельный репозитарий под такие бранчи. У разаботчиков соответственно в него пушится somedevel а не в главный. Главный репозитарий соответственно покрыть хуками которые не дают делать force. Сложно, но впишется в любой CI и не должно давать сюрпризов.