Ошибка Git при попытке push-pre-receive hook отклонена
когда я пытаюсь нажать изменение, которое я совершил, я получаю следующую ошибку ...
git.exe push -v --progress "origin" iteration1:iteration1
remote: *********************************************************************
To ssh://git@mycogit/cit_pplus.git
! [remote rejected] iteration1 -> iteration1 (pre-receive hook declined)
error: failed to push some refs to 'ssh://git@mycogit/cit_pplus.git'
что происходит?
14 ответов
вы должны спросить, кто поддерживает РЕПО в git@mycogit/cit_pplus.git
.
ваши коммиты были отвергнуты pre-receive
крючком этого РЕПО (это настраиваемый пользователем скрипт, который предназначен для анализа входящих коммитов и решения, достаточно ли они хороши, чтобы быть принятыми в репо).
также хорошая идея попросить этого человека обновить крючок, чтобы он напечатал причины отказа.
Если сопровождающий - это вы сами, то это похоже, у вас проблемы с настройкой на стороне сервера. Пожалуйста, поделитесь дополнительной информацией.
Я бы поспорил, что вы пытаетесь не-быстрый вперед толчок и крюк блокирует его. Если это так, просто запустите git pull --rebase
прежде чем нажать, чтобы перебазировать локальные изменения на новейшей кодовой базе.
размер файла важен. Существует ограничение ~120MB для одного файла. В моем случае .в gitignore с помощью Visual Studio был указан файл, но файл все еще был зафиксирован. При использовании git cli мы можем получить более подробную информацию об ошибке.
pre-receive hook отклонен в результате большого файла. В основном проверка толчка.
чтобы разрешить его, я удалил последнюю фиксацию, используя:
git reset --soft HEAD~1
затем я исключил файл из совершать.
надеюсь, что это помогает.
Это может быть вызвано тем,что у вас не было права нажимать фиксацию на какую-либо ветку,например master, вы можете попросить сопровождающего дать вам право нажимать
У меня была эта проблема при попытке объединить изменения с размером файла, большим, чем разрешенный удаленный репозиторий (в моем случае это был GitHub)
Я получил это сообщение, когда сервер GitLab претерпевал некоторые изменения. На следующий день толчок сработал отлично. В любом случае, как указывали другие, проверьте с вашим сопровождающим, чтобы быть уверенным.
Я столкнулся с этой же проблемой.
Для меня было решено переключиться на другую ветку, а затем вернуться к исходной.
Не уверен, что причина подчеркивания была, но это исправило ее.
Я использовал GitKraken, и мы сделали локальную ветвь, затем мы объединили в ней две удаленные ветви, а затем попытались подтолкнуть локальную ветвь к origin. Он не работал с тем же сообщением об ошибке.
на решение С создайте локальную ветку и нажмите ее сначала в origin, а затем выполните слияние.
Я получил это при попытке нажать на экземпляр dokku. Оказывается, диск был полон на моем сервере.
побежал:
du -f
и результат был:
Filesystem Size Used Avail Use% Mounted on
udev 476M 0 476M 0% /dev
tmpfs 100M 4.4M 95M 5% /run
/dev/xvda1 7.8G 7.4G 8.9M 100% /
в моем случае у нас есть крючки для сообщений фиксации, наш скрипт сервера принимает фиксации, если у них есть специальный формат для сообщения фиксации"<JIRA ID><Message>"
. Он (крюк) отклоняет фиксацию, если соответствующий билет Jira не существует или в сообщении фиксации есть специальные символы. Я сталкиваюсь с этой ошибкой при добавлении /, [, > etc. в сообщении commit удаление этих работ отлично работает.
Это на самом деле происходит, когда YACC включен на стороне сервера в BitBucket. YACC позволяет имена проблем JIRA, которые будут упомянуты в сообщении фиксации. Поэтому всякий раз, когда вы совершаете что-либо, по крайней мере, держите свой номер JIRA в сообщении фиксации, а затем дополнительно вы можете добавить свое собственное сообщение.
в моем случае это потому, что я случайно добавил гигантский файл к моему незафиксированному толчку, и я не мог избавиться от него, независимо от того, что я сделал после этого.
мое грязное решение, но работоспособное решение-переименовать текущий каталог, повторно клонировать каталог на локальный и отразить изменения вручную в повторно клонированный локальный каталог...
Это звучит не хорошо, но работает...