Вернуть git push в неправильную ветку
У меня был несчастный случай
Я работал в местном отделении "feature1"
Я хотел сделать "git push not-origin feature1:master"
вместо этого я случайно сделал "git push origin feature1:master"
,
Это сделало много беспорядка и заставило коммиты чередоваться (не то, чтобы я мог просто отменить определенный коммит)
Есть ли способ отменить это, учитывая, что у меня не было обновленной версии master локально, поэтому я не могу просто принудительно нажать ее?
PS: я не нашел никакого способа заблокировать толчки к мастеру без обновления до Enterprise, что дорого для этой эпохи...
1 ответ
Есть ли способ отменить это, учитывая, что у меня не было обновленной версии master локально, поэтому я не могу просто принудительно нажать ее?
Я думаю, что вы ошибаетесь там; Пока вы не делали принудительный толчок (толчок с --forced
флаг), git push
будет успешным, только если удаленные ссылки лежат на пути от текущей ссылки, т. е. ваша текущая ветвь не отличается от вашей удаленной главной ветки.
Это будет означать, что ваша ветвь feature1
имеет некоторый коммит C
что было то, что master
указывал на.
Так что все, что вам нужно сделать, это фигура C
создать новую ветку, используя git branch master_recovered C
и принудительно нажмите эту ветку, чтобы освоить, используя git push -f origin master_recovered:master
,