Ответ 1
Это классический случай, когда вы можете воспользоваться ветками Git. Вот рабочий процесс, который вы должны использовать.
Допустим, вы создали ветку develop
, основанную на master
, и вы сделали несколько коммитов на этой ветке:
Внезапно вы понимаете, что на master
есть ошибка, которую нужно быстро исправить. Вместо того, чтобы работать непосредственно с master
, вы должны создать кратковременную ветвь исправления ошибок, чтобы изолировать задачу исправления ошибок от вашей ветки master
:
git checkout master
git checkout -b bugfix
Сделав одну (или более) фиксацию в ветке bugfix
, чтобы исправить проблему,
Вы должны убедиться, что все работает как надо (запустить тесты и т.д.). Когда вы довольны состоянием своего кода на bugfix
, объедините его с master
:
git checkout master
git merge bugfix
На этом этапе вы можете перенести свою (теперь исправленную) ветку master
на удаленную и удалить ветку bugfix
:
git push origin master
git branch -d bugfix
Теперь, чтобы интегрировать последние изменения в master
в develop
, у вас есть два основных варианта.
Объедините
master
сdevelop
, запустив:git checkout develop git merge master
В качестве альтернативы, перебазируйте
develop
поверхmaster
, запустив:git checkout develop git rebase master
В любом случае ваша ветка develop
теперь будет содержать исправление, и вы сможете возобновить работу над develop
.