У меня был репозиторий, в котором были плохие коммиты (D, E и F для этого примера).
A-B-C-D-E-F мастер и источник/мастер
Я изменил локальный репозиторий с помощью git reset --hard
. Я взял ветку перед reset, так что теперь у меня есть репо, которое выглядит так:
A-B-C master
\ D-E-F old_master
A-B-C-D-E-F origin/master
Теперь мне нужны были некоторые части этих плохих коммитов, поэтому я вишневый выбрал нужные мне биты и сделал несколько новых коммитов, так что теперь у меня есть следующее локально:
A-B-C-G-H master
\ D-E-F old_master
Теперь я хочу подтолкнуть это положение к удаленному репо. Однако, когда я пытаюсь сделать git push
Git вежливо, я отбрасываю кисть:
$ git push origin +master:master --force
Total 0 (delta 0), reused 0 (delta 0)
error: denying non-fast forward refs/heads/master (you should pull first)
To [email protected]:myrepo.git
! [remote rejected] master -> master (non-fast forward)
error: failed to push some refs to '[email protected]:myrepo.git'
Как заставить удаленное репо принять текущее состояние локального репо?