Как сделать аварийные исправления на master в git? - PullRequest
2 голосов
/ 30 ноября 2011

Я совершил некоторые изменения (5, 6, 7, 8) в мастере и подтолкнул к происхождению.Другие люди потянули.Теперь мастер должен быть развернут через 2 дня, но есть чрезвычайная ситуация и что-то должно выйти сегодня.Какова лучшая практика для этого?Создать новую ветку на r4 и развернуть эту ветку, а затем объединить эту ветку с master?Кто-то в IRC сказал, чтобы временно отменить их, зафиксировать, а затем отменить их, но я пытаюсь понять, как это будет лучше или как это работает.

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Кто-то в IRC сказал, чтобы временно отменить их, зафиксировать, затем отменить их, но я пытаюсь понять, как это будет лучше или как это работает.

Это создаст чрезвычайноужасная история: вместо r4-r5-r6-r7-r8-fix ваша история будет выглядеть как r4-r5-r6-r7-r8-x8-x7-x6-x5-fix-r5-r6-r7-r8 в конце концовизменения.

Лучше всего создать ответвление от "r4".В любом случае у вас должна быть производственная ветка, которая не обновляется, если что-то не внедрено в производство ...

1 голос
/ 30 ноября 2011

Это отличная идея. git revert создает коммит, который отменяет данный коммит, поэтому вы можете сделать это:

git checkout master    
git revert <bad commit>  # repeat as necessary
git push
# okay, now master is safe again

git checkout -b bugfix
git revert <revert-commit>
# you've reverted the revert; things are broken again
# fix it all up - you have time now
git commit
git checkout master
git merge bugfix
git push

Вы можете внести изменения в это, но это в основном канонический способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...