Переписать историю 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
затем вы должны повторно добавить ветку в список, чтобы предотвратить случайные толчки в репо.