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 false
git init
git 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 fetch
antesgit pull
.Respuestas:
Para mí esto funcionó:
git remote prune origin
Como 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
git
sugiere hacer, pero era reacio a hacerlo porque el comando parece que hace algo al control remoto.git gc --prune=now
Quieres intentar hacer:
Ver https://www.kernel.org/pub/software/scm/git/docs/git-gc.html
fuente
git pull
estaba atascado con el mensaje de error similar.git
comando que trata con control remoto.git remote prune origin
resolvió 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 -v
que imprimirá algo como esto:
Elimine el control remoto de su repositorio local de git:
git remote rm origin
Agregue el control remoto a su repositorio local:
git remote add origin [email protected]:account-name/repo-name.git
fuente
git branch -u origin/master
El comando en ejecución lo
git update-ref -d refs/heads/origin/branch
arregló.fuente
git update-ref -d refs/remotes/origin/my_branch
Lo 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-branch
mi 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/branch
git gc --prune=now
fuente
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
chmod
ir777
ychown
venirapache:apache
Intente 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/DAVlock
fuente
#> rm DAVLock; touch DAVLock; chown www-data.www-data DAVLock; chmod 755 DAVLock; service apache2 restart
Esto 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/refs
y 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-branch
para 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