Los commands de Git fallan para algunos usuarios, pero no todos

Soy el administrador de Git en mi grupo de desarrollo.

Recientemente, B intentaba hacer un git pull desde el origen, lo que produjo muchos errores sobre "refs / tags / …" y "refs / heads / …" no apunta a un object válido.

Así que trató de get un nuevo git clone y obtuvo los mismos errores.

Lo mismo sucedía para otros usuarios, pero no para todos, incluyéndome a mí (es decir, todo funciona bien para mí).

Después de los bashs descritos a continuación, traté de get los posts de error originales de B, pero lo único que tenía era esta queue de una larga list de posts similares:

 ... error: refs/tags/v4.3.0_rev2664 does not point to a valid object! error: refs/tags/v4.6.10 does not point to a valid object! fatal: failed to read object 0a628d61199464517a9baaa117092fdd73f2f362: Permission denied fatal: The remote end hung up unexpectedly git did not exit cleanly (exit code 1) (10515 ms @ 01/04/2016 12:35:17 PM) 

Así que hicimos un poco de investigación y encontramos esto:

Git refs / remotes / origin / master no apunta a un object válido

Seguí los pasos en ese enlace en el repository remoto (después de hacer una copy de security) y las cosas mejoraron para algunos usuarios, pero no para todos.

Actualmente, cuando B intenta hacer git pull su repository actual, recibe este post:

 fatal: loose object b8ddd20da1655b990e361c720c2ee2e500d94bad (stonetworking in ./objects/b8/ddd20da1655b990e361c720c2ee2e500d94bad) is corrupt 

Y cuando intenta git clone consigue este post:

 fatal: failed to copy file to 'C:\git_temp\v4/.git/objects/09/01785b71fddf0b5bcdb40e07dcd04f697d2576': Permission denied 

Ahora cuando ./objects/b8/ddd20da1655b990e361c720c2ee2e500d94bad carpetas del repository remoto, encuentro que existe ./objects/09/01785b71fddf0b5bcdb40e07dcd04f697d2576 , pero no lo hace ./objects/09/01785b71fddf0b5bcdb40e07dcd04f697d2576 .

Cuando hago git cat-file -p en esos files, encuentro que son confirmaciones recientes válidas.

Como antes, git pull y git clone funcionan bien para mí y para L.

Le pedí a D que hiciera un git clone de este repository y recibió un montón de advertencias incorrectas, pero siguió creando el repository clonado.

No sé dónde ir para resolver esto.

B tiene un montón de código para impulsar que necesitamos lo antes posible.

Tu problema parece un problema de acceso correcto.

Verifique que el usuario tenga acceso correcto a las carpetas y files dentro de la copy compartida del repository git: desde su sistema, abra el repository git en el explorador de files, y verifique si efectivamente tiene acceso a la carpeta de objects , al 09/01785b71fddf0b5bcdb40e07dcd04f697d2576 , que ninguna carpeta o file aparece con un locking …

Mi sugerencia es: que todos accedan a este repository compartido usando el mismo usuario.

  • cambie la connection a la carpeta compartida para usar el mismo usuario común para todos,
  • o que todos accedan a la carpeta a través de una connection ssh, usando una count de usuario. Esto es tan simple como:

     git clone ssh://user@host:port/path/to/folder