Ошибка при git push =! [дистанционное отклонение] master → master (отклонение до приема)
Я думаю, что это другая проблема, чем это (удаленный отлаженный мастер → master (отклонение до приема)), и многие люди сталкиваются с одной проблемой, Поэтому я размещаю здесь новый.
Мой друг добавил меня на bitbucket.org в качестве администратора, чтобы я мог помочь в его проекте. Итак, я хотел начать с того, что взял мой последний код на своем локальном компьютере.
Я выполнил следующие шаги:
- Перейти к пустой папке
-
git init
-
git remote -v
(это ничего не дает)
-
git remote add origin <path to git repo>
-
git remote add master <path to git repo>
-
git remote -v
(это показывает как с помощью выборки, так и нажатия в скобки)
-
git fetch origin master
-
git pull origin master
(теперь у меня есть последний код, все файлы и папки)
-
touch test
(позволяет протестировать "проверку" )
-
git status
-
git add .
-
git commit -m "testing, first commit"
-
git push origin master
Ошибка:
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 274 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: permission denied to update branch master
To '<repo path>'
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '<repo path>'
Ответы
Ответ 1
Похоже, что управление веткой (одна из настроек администратора) в битбакете настроено так, чтобы позволить определенным людям напрямую нажимать на мастер.
Попробуйте создать ветку - git checkout -b test
, создайте свой тест и нажмите git push origin test:test
. Вы всегда можете удалить эту ветку после завершения теста.
Другой вариант (возможно, лучше всего согласен с тем, кто его установил), вы идете в bitbucket
и отправляетесь в админ, управление веткой и удаляете master
. cf - https://confluence.atlassian.com/display/BITBUCKET/Branch+management
Ответ 2
Просто сообщите о другом случае, приводящем к указанной ошибке. Если размер репозитория Bitbucket достигает 2 ГБ, сам Bitbucket ограничивает доступ к репозиторию доступным только для чтения.
Когда это произойдет, участники с разрешениями на чтение и запись не смогут нажать и получить ошибку "pre-receive hook declined".
Я также нашел эти документы от Atlassian:
https://blog.bitbucket.org/2014/05/30/repository-size-limits/
https://confluence.atlassian.com/bitbucket/reduce-repository-size-321848262.html
Ссылки включают руководство о том, как восстановить репо до полной функциональности
Ответ 3
Я думаю, что пакет setuptools/distribute указан в файле требований .txt. Удалите то же самое.
Ответ 4
Что для меня работало:
- Создал новую ветвь локально
- Bitbucket → Настройки → Сведения о репозитории = изменена ветвь по умолчанию (например, для prod)
- Bitbucket → Филиалы → удалить главную ветку (вы можете сделать это без шага 2)
- Затем нажмите локально созданную ветку (например, мастер)
- Bitbucket → Настройки → Сведения о репозитории = изменена ветвь по умолчанию (например, для мастера)
Ответ 5
У меня есть лучшее решение для Bitbucket:
Если вы являетесь администратором, перейдите в раздел Repo > Settings > Limit Pushes, а в поле "Имя ветки" поставьте "master", а в "..search... user" поместите свое имя пользователя - затем нажмите "ADD" - и вы сделано:)
Ответ 6
иногда это может быть связано с различием в коммитах, поэтому попробуйте синхронизировать исходное и локальное репо, а затем делать коммит и пуш. Этот подход работал для меня.
проверить: состояние git
Ответ 7
Та же самая проблема со мной на gitlab, я попросил владельца репо великую роль maintainer
и проблема была исправлена.