Переписать историю Git на Bitbucket [удаленный отклонен] HEAD - > branch (предварительно получить крюк отклонен)

на Bitbucket, используя веб-интерфейс Bitbucket, я синхронизировал благословенное РЕПО с моей собственной частной вилкой по ошибке. Я хотел переписать историю на благословенном репо, чтобы вернуть ее к правильной фиксации.

я клонировал благословенное РЕПО, которое содержало мои неправильные коммиты и локально выполнялось

git reset --hard HEAD~1

на ветке, чья история была испорчена.

это вернуло клонированное РЕПО к фиксации, на которой оно было до того, как я его испортил.

Я тогда пошел толкать моего РЕПО обратно в Bitbucket с помощью

git push -f origin development

но получил следующую ошибку

remote: permission denied to force push branch development
To git@bitbucket.org:blessed-repo/blessed-repo.git
 ! [remote rejected] HEAD -> development (pre-receive hook declined)
error: failed to push some refs to 'git@bitbucket.org:blessed-repo/blessed-repo.git'

Почему я получаю эту ошибку и как можно сделать git push работы?

1 ответов


в Bitbucket можно ограничить мощность толчка для предотвращения пользователей от нажатия на ветку напрямую.

из вышеуказанных документов ...

пользователи могут свободно взаимодействовать с веткой в своем локальном клоне. Когда они пытаются нажать на Bitbucket remote, пользователи, которые не разрешены чтобы нажать на ветку, получите сообщение о том, что удаленный толкать.

вы можете увидеть, как это было бы полезно для обеспечения типичные рабочие процессы.

чтобы включить прямое нажатие на ветку на репо

перейти

РЕПО > Настройки > Управление филиалами > запретить повторную запись истории (rebase) в этих филиалах

затем удалите ветку, на которую вы нажимаете.

Это позволит вам запустить git push origin +HEAD

затем вы должны повторно добавить ветку в список, чтобы предотвратить случайные толчки в репо.