У мене було сховище, яке мало погані помилки (D, E і F для цього прикладу).
ABCDEF майстер та походження / майстер
Я спеціально змінив локальне сховище за допомогою git reset --hard
. Я взяв гілку перед скиданням, тому тепер у мене є репо, яке виглядає так:
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 git@git.example.com:myrepo.git
! [remote rejected] master -> master (non-fast forward)
error: failed to push some refs to 'git@git.example.com:myrepo.git'
Як змусити віддалений репо приймати поточний стан місцевого репо?
git push -force
більш ретельно .