tag - Git: no se puede presionar desde una computadora
qué tipos de etiquetas existen en git (6)
¿Tal vez ha creado una sucursal en su repositorio local que ya existe en el servidor y esa referencia no se puede actualizar porque fue creada por otra persona?
Uno de mis compañeros de trabajo tiene un problema al empujar los cambios de Git en su máquina. Si inicia sesión en otra máquina, puede presionar muy bien, pero desde su máquina, cuando intenta empujar, obtiene el siguiente error
D:/Projects/test1/best-practices>git push Counting objects: 4, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 273 bytes, done. Total 3 (delta 1), reused 0 (delta 0) error: unable to create temporary sha1 filename ./objects/42: Permission denied fatal: failed to write object error: unpack failed: unpacker exited with error code To //civ3s012/gitrepos/best-practices/.git ! [remote rejected] master -> master (n/a (unpacker error)) error: failed to push some refs to ''//civ3s012/gitrepos/best-practices/.git''
El servidor es una máquina de Windows, como es el cliente. Nadie más tiene este problema, parece ser un problema de permisos del servidor, pero lo hemos descartado por lo que sabemos. Además, el hecho de que pueda iniciar sesión en una máquina diferente y presionar, utilizando el mismo nombre de usuario, hace que parezca que no se trata de permisos de servidor. ¿Alguna idea de lo que podría estar yendo mal aquí?
Sé que esta es la respuesta fácil de sysadmin sysadmin, pero ¿has verificado que su disco duro no está lleno?
El problema terminó siendo una contraseña almacenada para ese recurso compartido que permitía el acceso de lectura, pero no el de escritura. Incluso cuando montamos explícitamente el disco con el nombre de usuario y la contraseña apropiados, la contraseña almacenada debe haberse utilizado en segundo plano, lo que dificultó su localización. Para borrar la contraseña, fuimos al Panel de control, Cuentas de usuario, hicimos clic en Avanzado, Administrar contraseñas y eliminamos la información de inicio de sesión para el servidor en cuestión. Después de eso, todo funcionó como debería. Estoy aceptando la respuesta de Pat Notz, ya que terminó siendo un FS de solo lectura. ¡Gracias!
Intente agregar esta variable de configuración al repositorio remoto:
$ git config core.sharedRepository "all"
$ git config receive.denyNonFastForwards True
Estos generalmente se establecen mediante la opción --shared
en git init
, cuando se configura el repositorio.
No sé cómo interactúan los permisos de Windows, así que no estoy seguro de que esta sea la solución. Pero sé que a veces un usuario de Linux puede crear archivos con permisos que fallan en un control remoto de Git exactamente de esta manera. Sucedió cuando pertenecen al grupo adecuado, pero no lo tienen como su grupo principal . Establecer el intercambio de repositorio para all
se soluciona con esto.
Esto parece suceder con los repos compartidos importados de SVN o CVS.
Otra respuesta cerebralmente muerta. ¿Seguro que tienes permisos para leer esos archivos? Me ha sucedido algunas veces en las que haré un cambio como otro usuario por error. Luego, más tarde, no puedo empujar. Chown es tu amigo.
No soy un usuario de Windows, así que estoy apuñalando en la oscuridad un poco aquí. Parece que el sistema de archivos remoto está montado y simplemente está presionando para eso (sin usar ssh: // o git: //). ¿Es eso FS de alguna manera montado de manera solo? ¿Puede crear / modificar archivos allí (fuera de git
)?