Após a clonagem do repositório remoto do git (em bettercodes), fiz algumas alterações, confirmei e tentei fazer o push:
git push origin master
Erros com:
erro: não é possível bloquear informações existentes / referências
fatal: falha no git-http-push
Este caso diz respeito ao repositório já existente.
O que eu fiz antes, foi:
git config –global http.sslVerify false
git init
git remote add [url]
git clone
- alterar dados
git commit
Em 'bettercodes' não tenho acesso ao git log.
Estou usando o Windows. O erro detalhado foi:
C:\MyWorkStuff\Projects\Ruby\MyProject\>git push origin master
Unable to create branch path https://user:[email protected]/myproject/info/
error: cannot lock existing info/refs
fatal: git-http-push failed
Eu clonei antes, depois mudei o código e cometi.
git fetch
antesgit pull
.Respostas:
Para mim, isso funcionou:
git remote prune origin
Como essa resposta parece ajudar muitas pessoas, eu me concentrei um pouco no que realmente acontece aqui. O que isto fará é remover referências a ramificações remotas na pasta
.git/refs/remotes/origin
. Portanto, isso não afetará suas ramificações locais e não mudará nada remoto, mas atualizará as referências locais que você tem para ramificações remotas. Parece que em alguns casos essas referências podem conter dados que o Git não pode manipular corretamente.fonte
git
sugere fazer, mas eu relutava em fazê-lo porque o comando parece fazer algo com o controle remoto.git gc --prune=now
Você quer tentar:
Consulte https://www.kernel.org/pub/software/scm/git/docs/git-gc.html
fonte
git pull
ficou com a mensagem de erro semelhante.git
comando que lida com controle remoto.git remote prune origin
resolveu o problema de uma vez por todas.Isso aconteceu comigo quando meu git remote (bitbucket.org) mudou seu endereço IP. A solução rápida foi remover e adicionar novamente o controle remoto, e tudo funcionou conforme o esperado. Se você não conhece como remover e adicionar novamente um controle remoto no git, aqui estão as etapas:
Copie o URL SSH git do seu controle remoto existente. Você pode imprimi-lo no terminal usando este comando:
git remote -v
que imprimirá algo como isto:
Remova o controle remoto do seu repositório git local:
git remote rm origin
Adicione o controle remoto novamente ao seu repositório local:
git remote add origin [email protected]:account-name/repo-name.git
fonte
git branch -u origin/master
Comando em execução
git update-ref -d refs/heads/origin/branch
corrigido.fonte
git update-ref -d refs/remotes/origin/my_branch
Corrigi isso fazendo o seguinte
Isso assumindo que suas ramificações locais e remotas estão alinhadas e você está recebendo o erro refs como não fatal.
fonte
Eu tive esse problema porque estava em uma ramificação que tinha um nome semelhante a uma ramificação upstream. ou seja, o ramo upstream foi chamado
example-branch
e meu ramo local foi chamadoexample-branch/backend
. A solução foi alterar o nome da minha filial local da seguinte forma:fonte
O que funcionou para mim foi:
.git/logs/refs/remotes/origin/branch
.git/refs/remotes/origin/branch
git gc --prune=now
fonte
Provavelmente isso já está resolvido. Mas aqui está o que funcionou para mim.
Localização:
Se o repositório bloqueado estiver no lado do servidor:
Se o repositório bloqueado for apenas local:
Execute este comando:
Corrija as permissões no seu repositório (remoto ou / e local), se necessário. No meu caso, eu tive
chmod
que777
echown
paraapache:apache
Tente enviar novamente a partir do repositório local:
fonte
É assim que funciona para mim.
Alternativa ainda mais rápida:
cat /dev/null > /var/lock/apache2/DAVlock
fonte
#> rm DAVLock; touch DAVLock; chown www-data.www-data DAVLock; chmod 755 DAVLock; service apache2 restart
Isso parece um problema de permissão - é possível que você tenha duas janelas abertas, executando com direitos separados? Talvez verifique a propriedade da pasta .git.
Talvez verifique se há um bloqueio de arquivo pendente aberto, talvez use lsof para verificar ou o equivalente para o seu sistema operacional.
fonte
No meu caso, uma ramificação foi movida para um subdiretório e o diretório foi chamado como ramificação. Git ficou confuso com isso. Quando excluí a ramificação local (no SourceTree, apenas com o botão direito do mouse em excluir), tudo funcionava normalmente.
fonte
No meu caso, depois de receber esta mensagem, executei o comando checkout e recebi esta mensagem:
Depois de executar este comando, voltei ao normal.
fonte
Atualizar:
Pode ser necessário editar seu arquivo ~ / .netrc:
https://bugs.launchpad.net/ubuntu/+source/git-core/+bug/293553
Resposta original:
Por que você desativou o ssl? Acho que isso pode ter a ver com você não conseguir enviar via https. Eu colocaria de volta e tentaria empurrar novamente:
fonte
Verifique se você (processo git realmente) tem acesso ao arquivo
.git/info/refs
e se esse arquivo não está bloqueado por outro processo.fonte
Eu tive esse problema quando estava tentando criar uma nova ramificação de recurso que continha o nome da ramificação antiga, por exemplo, origem - branch1 e eu queria criar o branch1-feature. Não era possível, mas o branch1 / feature já estava.
fonte
No meu caso, tive que excluir manualmente as tags antigas que foram removidas no controle remoto.
fonte
No meu caso, ele estava conectado ao nome do ramo que eu já havia criado.
Para corrigir o problema, criei um ramo com o nome que por certo não deveria existir, como:
Depois, limpei todos os meus outros ramos (não ativos) porque eram apenas lixo desnecessário.
e renomeei minha ramificação atual com o nome que pretendi, como:
fonte
No caso do bettercodes.org, a solução é mais poética - o único problema pode estar nos direitos atribuídos aos membros do projeto. Membros simples não têm direitos de gravação! Verifique se você possui os direitos de moderador ou administrador. Isso precisa ser definido em bettercodes.org nas configurações do projeto por um administrador, é claro.
fonte
Vi esse erro ao tentar
git filter-branch
desanexar muitos subdiretórios em um novo repositório separado (como nesta resposta ).Eu tentei todas as soluções acima e nenhuma delas funcionou. Por fim, decidi que não precisava preservar minhas tags tão mal no novo ramo e apenas executei:
fonte