Después de clonar desde el repositorio remoto de git (en bettercodes) hice algunos cambios, me comprometí e intenté presionar:
git push origin master
Errores con:
error: no se puede bloquear la información / referencias existentes
fatal: error de git-http-push
Este caso se refiere al repositorio ya existente.
Lo que hice antes fue:
git config –global http.sslVerify falsegit initgit remote add [url]git clone- cambiar datos
git commit
En 'bettercodes' no tengo acceso a git log.
Estoy usando Windows El error detallado fue:
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
Cloné antes, luego cambié el código y me comprometí.

git fetchantesgit pull.Respuestas:
Para mí esto funcionó:
git remote prune originComo esta respuesta parece ayudar a mucha gente, profundicé un poco en lo que realmente sucede aquí. Lo que esto hará es eliminar las referencias a ramas remotas en la carpeta
.git/refs/remotes/origin. Por lo tanto, esto no afectará a sus sucursales locales y no cambiará nada remoto, pero actualizará las referencias locales que tiene a las sucursales remotas. Parece que en algunos casos estas referencias pueden contener datos que Git no puede manejar correctamente.fuente
gitsugiere hacer, pero era reacio a hacerlo porque el comando parece que hace algo al control remoto.git gc --prune=nowQuieres intentar hacer:
Ver https://www.kernel.org/pub/software/scm/git/docs/git-gc.html
fuente
git pullestaba atascado con el mensaje de error similar.gitcomando que trata con control remoto.git remote prune originresolvió el problema de una vez por todas.Esto me sucedió cuando mi git remote (bitbucket.org) cambió su dirección IP. La solución rápida fue eliminar y volver a agregar el control remoto, luego todo funcionó como se esperaba. Si no está familiarizado con cómo eliminar y volver a agregar un control remoto en git, estos son los pasos:
Copie la URL git SSH de su control remoto existente. Puede imprimirlo en la terminal con este comando:
git remote -vque imprimirá algo como esto:
Elimine el control remoto de su repositorio local de git:
git remote rm originAgregue el control remoto a su repositorio local:
git remote add origin [email protected]:account-name/repo-name.gitfuente
git branch -u origin/masterEl comando en ejecución lo
git update-ref -d refs/heads/origin/brancharregló.fuente
git update-ref -d refs/remotes/origin/my_branchLo arreglé haciendo lo siguiente
Esto supone que sus ramas locales y remotas están alineadas y que solo obtiene el error de referencia como no fatal.
fuente
Tuve este problema porque estaba en una sucursal que tenía un nombre similar a una sucursal aguas arriba. es decir, se llamó a la rama aguas arriba y se llamó a
example-branchmi rama localexample-branch/backend. La solución fue cambiar el nombre de mi sucursal local de la siguiente manera:fuente
Lo que funcionó para mí fue:
.git/logs/refs/remotes/origin/branch.git/refs/remotes/origin/branchgit gc --prune=nowfuente
Esto probablemente ya se haya resuelto. Pero aquí está lo que funcionó para mí.
Ubicación:
Si el repositorio bloqueado está en el lado del servidor:
Si el repositorio bloqueado es solo local:
Ejecute este comando:
Arregle los permisos en su repositorio (remoto o local) si es necesario. En mi caso tuve que
chmodir777ychownvenirapache:apacheIntente presionar nuevamente desde el repositorio local:
fuente
Así es como funciona para mí.
Alternativa aún más rápida:
cat /dev/null > /var/lock/apache2/DAVlockfuente
#> rm DAVLock; touch DAVLock; chown www-data.www-data DAVLock; chmod 755 DAVLock; service apache2 restartEsto suena como un problema de permisos: ¿es posible que haya abierto dos ventanas que se ejecutan con derechos separados? Quizás verifique la propiedad de la carpeta .git.
Tal vez verifique si hay un bloqueo de archivo pendiente abierto, tal vez use lsof para verificar, o el equivalente para su sistema operativo.
fuente
En mi caso, una rama se movió a un subdirectorio y el directorio se llamó como la rama. Git estaba confundido por eso. Cuando eliminé la sucursal local (en SourceTree solo con hacer clic derecho en eliminar) todo funcionó como de costumbre.
fuente
En mi caso, después de recibir este mensaje, hice el comando de pago y recibí este mensaje:
Después de ejecutar este comando, volví a la normalidad.
fuente
Actualizar:
Es posible que deba editar su archivo ~ / .netrc:
https://bugs.launchpad.net/ubuntu/+source/git-core/+bug/293553
Respuesta original:
¿Por qué deshabilitó ssl? Creo que esto podría tener que ver con que no puedas presionar a través de https. Volvería a configurarlo e intentaría presionar de nuevo:
fuente
Compruebe que usted (proceso git en realidad) tenga acceso al archivo
.git/info/refsy que este archivo no esté bloqueado por otro proceso.fuente
Tuve este problema cuando intentaba crear una nueva rama de características que contuviera el nombre de la rama anterior, por ejemplo, origin - branch1 y quería crear una característica branch1. No era posible, pero branch1 / feature ya lo era.
fuente
En mi caso, tuve que eliminar manualmente las etiquetas antiguas que se habían eliminado en el control remoto.
fuente
En mi caso, estaba conectado con el nombre de la sucursal que ya había creado.
Para solucionar el problema, he creado una rama con el nombre que con seguridad no debería existir, como:
Luego, borré todas mis otras ramas (no activas) porque eran basura innecesaria.
y luego cambié el nombre de mi sucursal actual con el nombre que pretendía, como:
fuente
En el caso de bettercodes.org, la solución es más poética: el único problema puede estar en los derechos asignados a los miembros del proyecto. ¡Los miembros simples no tienen derechos de escritura! Asegúrese de tener los derechos de moderador o administrador. Esto debe ser configurado en bettercodes.org en la configuración del proyecto por un administrador, por supuesto.
fuente
Vi este error al intentar ejecutar
git filter-branchpara separar muchos subdirectorios en un nuevo repositorio separado (como en esta respuesta ).Probé todas las soluciones anteriores y ninguna funcionó. Finalmente, decidí que no necesitaba conservar mis etiquetas tan mal en la nueva rama y simplemente ejecuté:
fuente