Маленькая команда. Коллега по ошибке нажал на origin:master
. Он сбросил свое местное репо, но не может push -f
в Github, потому что репо защищено.Github: возврат к предыдущему фиксации
У меня есть fetch
отредактировал репо, но не объединил его странствующее совершение в моем местном master
... еще.
Как я могу предположить, могу ли я сделать push -f
по происхождению, сбросить origin
на Github так, чтобы он отражал состояние, в котором он находился до его ошибки?
$ git push origin 2860a4c:master
To github.com:example/myproj.git
! [rejected] 2860a4c -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:example/myproj.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
мне действительно нужно интегрировать делать плохой фиксации (с git pull
), прежде чем я тогда, я полагаю, reset hard 2860a4c
, а затем push -f origin
?
Я просто не хочу ухудшать ситуацию.
Возможный дубликат [Как вернуть репозиторий Git к предыдущей фиксации?] (Http://stackoverflow.com/questions/4114095/how-to-revert-git-repository-to-a-previous-commit) –
Я знаю, что здесь много (слишком много?) Сообщений о возврате git-коммитов. Тем не менее, я не нашел тот, который четко объясняет, как удалить (сбросить) последнюю фиксацию на Github. Я предполагаю, что могу «отменить» фиксацию, но я пытаюсь найти способ просто отменить последний Github, если это возможно, без раздувания локальных репозиториев. – Meltemi
Без '-f' вы не можете этого сделать.Вам нужно вернуть эту команду с помощью 'git revert', но это станет частью вашей истории. –