git push falha com remoto: erro: gancho recusado para atualizar refs / heads / master

8

Recentemente, estou tentando iniciar meu próprio projeto em um repositório do git da comunidade e tenho tido algumas complicações. Eu sou novo no git, mas aqui está o que eu tenho tentado fazer apenas para testá-lo.

Eu corro os seguintes comandos e todos eles funcionam ok.

git config --global user.name "MYNAME"
git config --global user.email "MYEMAIL"
mkdir testproject
cd testproject
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin [email protected]:community/testproject.git

e todos os comandos acima são executados sem erros. No entanto, quando executo o próximo comando, recebo um erro enorme.

git push -u origin master

e o erro é.

Counting objects: 3, done.
Writing objects: 100% (3/3), 204 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
Username for 'http://git.xxxxxx.org': MYEMAIL
Password for 'http://[email protected]': 
remote: /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in 'block in materialize': Could not find rake-10.1.0 in any of the sources (Bundler::GemNotFound)
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:85:in 'map!'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/spec_set.rb:85:in 'materialize'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:114:in 'specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:159:in 'specs_for'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/definition.rb:148:in 'requested_specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/environment.rb:18:in 'requested_specs'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:13:in 'setup'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:120:in 'setup'
remote:         from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in '<top (required)>'
remote:         from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in 'require'
remote:         from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in 'require'
remote: error: hook declined to update refs/heads/master
To http://git.xxxxxx.org/community/testproject.git
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'http://git.xxxxxx.org/community/testprojact.git'

Eu não tenho certeza do que fazer a partir daqui, mas qualquer ajuda é muito apreciada.

Além disso, estou executando o Arch se isso for importante.

Editar: Eu tentei reinstalar o rake e não funcionou. Minha versão atual do rake era 10.1.1, então eu tentei removê-lo e substituí-lo pela versão 10.1.0 e isso também não resolveu.

No entanto, quando eu estava instalando o rake, recebi um erro:

WARNING:  You don't have /home/josh/.gem/ruby/2.0.0/bin in your PATH,
          gem executables will not run.

Isso poderia estar contribuindo para o problema?

    
por Joshua Strot 21.12.2013 / 04:52

3 respostas

9

O controle remoto recusou-se a receber os dados é apenas um efeito colateral do problema real - git acha que foi negado porque um dos ganchos na extremidade remota falhou com um status de saída > 0 (você pode ver o que estava no traceback do Ruby). Parece que um dos ganchos tenta usar rake e não consegue encontrá-lo. Este não é um problema com o seu repositório específico, provavelmente. Essa mensagem também não é do seu computador local - observe que ela é prefixada com "remote", é o remote que está faltando rake , então provavelmente apenas um sysadmin naquele lado pode corrigir o problema questão.

Sugiro que você entre em contato com quem gerencia seu repositório git da comunidade.

    
por 21.12.2013 / 06:29
0

Eu acredito que este é o seu problema.

remote: error: hook declined to update refs/heads/master
To http://git.xxxxxx.org/community/testproject.git
 ! [remote rejected] master -> master (hook declined)

Pesquise este erro. Encontrei este P & A em SO, intitulado: erro: hook recusou-se a atualizar refs / heads / external_pub ao enviar um branch .

Parece que há um git hook no servidor que está rejeitando o push .

trecho

Server-Side Hooks

In addition to the client-side hooks, you can use a couple of important server-side hooks as a system administrator to enforce nearly any kind of policy for your project. These scripts run before and after pushes to the server. The pre hooks can exit non-zero at any time to reject the push as well as print an error message back to the client; you can set up a push policy that’s as complex as you wish.

Para determinar por que você está recebendo esta mensagem de erro, é necessário descobrir qual gancho está causando erros. Os ganchos são armazenados na pasta hooks dentro da pasta git (no lado do servidor remoto) - encontre o gancho pre-receive ou update e verifique o que está causando o problema.

    
por 21.12.2013 / 06:18
0

Verifique o papel / grupo e a permissão no repositório do GIT Meu caso, somente permissão vermelha e seu resolvido após acesso de leitura / gravação provido pela equipe de repositórios do GIT

    
por 24.10.2018 / 06:42

Tags