Git-Перемещение старого коммита на кончик мастера - PullRequest
0 голосов
/ 05 июля 2018

Мы объединяем все изменения в мастере, и это должен быть пиар. Весь выпуск строго происходит от мастера. Нам не разрешено выпускать из любой другой ветки. Мы не выпускаем каждый коммит вместо этого один раз в спринте (2 недели) после тестирования кандидата на релиз (коммит). Проблема в том, что как только мы выпускаем, мы не прекращаем нашу активную линию разработки, и в случае, если нам потребуется дать исправление позже, мы должны раскошелиться из выпущенного коммита в другую ветку. Это требует выпуска из ветви исправлений. К сожалению, у нас есть политика освобождения только от мастера. Есть ли способ, которым мы можем переместить коммит релиза на кончик мастера и предоставить исправления и релиз от мастера. Позже мы хотим интегрировать все, что произошло после выпуска, обратно в master.

Есть ли способ достичь этого, не останавливая основной путь разработки и не нарушая освобождение от основной политики?

1 Ответ

0 голосов
/ 05 июля 2018

То есть вы хотите указать master на другой коммит в прошлом? Конечно. Во-первых, убедитесь, что ваша текущая ветка master не будет удалена путем помещения ее в новую ветку.

git checkout -b old-master

Затем переключитесь обратно на master

git checkout master

Теперь вынудите мастера вернуться к любой предыдущей фиксации, которую вы хотите

git reset --hard 0eaf3276

В качестве альтернативы, если вы отметили релиз, вы можете использовать его.

git reset --hard v1.0.0

Теперь, если вы хотите подтолкнуть вашу новую главную ветку вверх, просто выполните

git push --force

Кроме того, ваша политика "только освобождение от хозяина" глупа. Но вы, наверное, уже знаете это. : D

...