#git
#git
Вопрос:
Предположим, я нахожусь в ветке develop
.
Я нахожусь в фиксации (A)
, и я делаю некоторые плохие вещи и делаю еще одну фиксацию (B)
.
Предположим, что отмена плохих действий, которые я сделал, — это очень болезненная работа, как я могу сделать еще одну фиксацию впереди (B)
в той же ветке develop
?
CURRENT STATE:
_______________________________________
|develop| (A) ----> (B)
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
WHAT I IMAGINE:
_______________________________________
|develop| (A) ----> (B) (D)
‾‾‾‾‾‾‾‾‾‾‾‾|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾🡑‾‾‾‾‾‾
| |
____________🡓___________________|______
|bugfix | (C) -----------------'
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Я не собираюсь объединяться, так как я не хочу использовать (B)
. Я также не могу стереть (B)
, поэтому принудительное нажатие не является вариантом.
Что мне делать в этой ситуации?
Если есть способ поместить новую фиксацию (впереди (B)
), состояние которой равно (A)
, это также было бы приемлемым решением.
Ответ №1:
Вы можете «вернуться» B. Это эффективно создает новую фиксацию, которая «отменяет» изменения, внесенные B. Это работает с одним неудачным коммитом или целой серией неудачных коммитов.