Поскольку вам не нужны изменения из master
или develop
, самым простым решением будет полный сброс этих веток.
- Переключитесь на
master
, дважды щелкнув его на левой панели.
- Найдите последнюю фиксацию, которая была развернута в рабочей среде, в представлении «Журнал/История».
- Щелкните правой кнопкой мыши этот коммит и нажмите
Reset current branch to this commit
.
- В диалоговом окне подтверждения переключите раскрывающийся список
Using mode
на Hard - discard all working copy changes
, затем нажмите OK.
И повторите процесс для develop
.
Альтернативой было бы удалить ветки и создать их заново.
- Щелкните правой кнопкой мыши ветку
master
на левой панели.
- Нажмите
Delete master
.
- В диалоговом окне подтверждения, если в ветке есть неслитые изменения, установите флажок
Force delete
, затем нажмите OK.
Повторите процесс для develop
.
Затем возьмите любую ветку feature-*
, которая использовалась для производственных развертываний, и переименуйте ее в master
:
- Щелкните правой кнопкой мыши соответствующую ветку
feature-*
.
- Нажмите
Rename feature-*...
.
- Введите
master
и нажмите OK.
Если у вас есть другая ветка feature-*
, которая использовалась для разработки, сделайте то же самое, чтобы переименовать ее в develop
.
Основное отличие здесь в том, что у вас больше не будет feature-*
веток, которые могут быть, а могут и не быть тем, что вам нужно.
Влияние на историю
Предположим, ваша история выглядела примерно так:
... A--B [master]
/
*--*--*--C--D [develop]
\
*--* ... *--*--* [feature-1] (should be develop)
\
*--*--* [feature-2] (should be master)
После выполнения приведенных выше инструкций ваша история будет выглядеть так:
... A--B
/
*--*--*--C--D
\
*--* ... *--*--* [develop, feature-1]
\
*--*--* [master, feature-2]
(Где feature-1
и feature-2
могут больше не существовать в зависимости от того, какое решение вы выбрали.)
Когда вы перемещаете или удаляете ветку, коммиты не удаляются сразу. Таким образом, коммиты A
, B
, C
и D
все еще существуют, просто у вас нет простого способа добраться до них. Через некоторое время эти коммиты будут удалены Git сборщиком мусора, поэтому не забудьте добавить туда ветку или тег, если хотите их сохранить.
person
Scott Weldon
schedule
02.11.2016