git rebase для ветки и её подветок одной командой
От: halo Украина  
Дата: 28.05.18 11:53
Оценка: 7 (2)
У нас на проекте существует следующая организация веток в Git-репозитории:

master
\- dev
  \- feature-####
    \- task-####


Время от времени в dev-ветку мы сливаем feature-ветки, работу над которыми считаем завершённой. По такому же принципу в feature-ветки мы сливаем task-ветки. После таких слияний над остальными ветками, которые ещё не объединены со своими родительскими, мы делаем rebase (обязательно с опцией -p) поверх новых изменений в родительской ветке. Это довольно утомительно и затратно по времени, если у ветки, которой нужен rebase, есть ещё дочерние ветки, потому как для каждой из них нужно повторить rebase отдельно, не забыв ни одной ветки.

В принципе, можно реализовать такую стратегию rebase в полуавтоматическом режиме с помощью скриптов, но кажется, что это будет велосипед непроверенного качества. Некоторое время назад у меня получилось написать устанавливаемый в git-директорию Python-скрипт, но в его стабильности и удобности я до конца не уверен + не хочу таскать его с собой, равно как и сам Python. Думаю, можно было бы даже как-то реализовать задумку с помощью более-менее простого скрипта на bash (git-rev-parse, git-rev-list, git-merge-base), и чуть ли не в алиасы его прописать, но и тут не уверен. Например, что делать если одну из дочерних веток нельзя объединить автоматически.

Существуют ли уже готовые инструменты для Git, умеющие переносить ветки вместе со всеми их дочерними ветками?
Отредактировано 28.05.2018 11:58 halo . Предыдущая версия .
git rebase
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.