2011-08-20 34 views
11

Acabo de configurar git en mi servidor Linux y he configurado SSH - Quiero crear un repositorio privado para trabajar con mis amigos. Cuando estoy de tracción o de clonación que todo funciona bien repo (LAN), pero cuando mi amigo trata de tirar o clonarlo (a través de Internet), git cuelga en:Repositorio privado de Git - se congela al tirar

remote: Compressing objects: x 

donde x es siempre inferior a 17% .

¿Qué tiene de malo o cómo podría solucionarlo?

PD: No estoy usando gitosis, inicié ese repositorio remoto con: git --bare init.

Gracias de antemano.

Actualización:

Los comandos resultados:

$ cat .git/config 

[core] 
repositoryformatversion = 0 
filemode = false 
bare = false 
logallrefupdates = true 
symlinks = false 
ignorecase = true 
hideDotFiles = dotGitOnly 
[remote "origin"] 
url = ssh://[email protected]:port/~/repo_name.git 
fetch = +refs/heads/*:refs/remotes/origin/* 

 

$ git fetch -v 
Enter passphare for key '/c/Users/dev/.ssh/id_rsa': 
remote: Counting objects: 76, done. 
remote: Compressing objects: 21% (12/55) 

Sin embargo, cuando mi amigo se postal con las fuentes y la empujó, todo funcionaba bien. Entonces él puede empujar. Agregué un archivo vacío y lo empujé, él lo descargó (tiró) con éxito.

+0

¿Te ayuda cuando ejecutas 'git gc' en el servidor-repo? También hay diferentes protocolos (ssh/git/static-http/"intelligent" -http) involucrados? ¿Y usas la misma cuenta de usuario para acceder tanto a ti como a tu amigo, o son diferentes (estoy pensando en problemas de permisos)? – Rudi

+0

@Rudi Bueno, cuando ejecuté 'git gc' a través de SSH localmente (el servidor se está ejecutando en mi computadora) se completó, pero cuando mi amigo intentó hacer lo mismo, se congeló (el cursor parpadea para siempre). Trató de tirar después de eso y se detuvo en 'Comprimir objetos: 7%'. Sí, tenemos una cuenta para git, y estamos usando el protocolo SSH (el origen se ve así en ambas computadoras): 'ssh: // git @ server_uri: port/~/repo_name.git'. Git repo está en el directorio de inicio de la cuenta de git. Por cierto, estamos usando 'git pull origin master'. – Robik

+0

suena como que hay un componente de red que deja caer la conexión ssh después de unos segundos, muy probablemente un defecto NAT. Puedes probar con wireshark en ambos extremos si hay paquetes TCP de la conexión que se eliminan después de un cierto período de tiempo (sospecho que faltan paquetes ACK servidor-> cliente). – Rudi

Respuesta

7

Haga que su amigo para tratar:

git fetch -v 

Si eso no te da la respuesta, entonces conseguir que haga esto:

cat .git/config 

Si su servidor es seguro y luego actualizar su pregunta a incluir la salida de ese comando. Si no es seguro, cambie el IP y otros detalles de identificación a una IP falsa y detalles falsos, pero intente no alterar nada más, ya que puede terminar proporcionando información engañosa.


Editar basado en la actualización:

La URL debe comenzar con "ssh: //" no "ssh /". Aunque estoy a punto de revisarlo dos veces.

+0

Pregunta actualizada. – Robik

+0

Lo siento, es 'ssh: //'. Acabo de copiarlo con un emoticón y falta. – Robik

+0

Maldición, bueno, realmente no sé, ya que todo lo demás parece normal. ¿Es posible que tu amigo venga a tu casa? O eso o para que intentes clonar/sacar tu repo desde fuera de tu red. De esta forma, puede averiguar si el problema está en su extremo o en el suyo. – Gerry

1

Tuve el mismo problema hasta que ingresé a la configuración de mi adaptador Ethernet y cambié el tamaño del paquete Jumbo de 1514 bytes a 9014 bytes.

+3

Es difícil creer que se requieren paquetes jumbo para que git funcione. –

+1

Creo que en realidad puede ser otra configuración que, en combinación con el tamaño más pequeño, falló. He tenido problemas con mi tarjeta de red durante meses. Es probable que sea un problema con el conductor. –

+0

Tuve el mismo problema con Ethernet, lo intenté con la conexión wifi, funcionó ... –

2

Si Git push/pull se congela usando una configuración que funcionó previamente, intente reiniciar la computadora.

Suena extraño pero lo he experimentado en Windows y Linux.

+1

Esto exactamente me pasó a mí (en Mac OS). No estoy seguro de qué servicio exactamente necesitó para restablecerse, pero estás en algo. ¡Gracias! – jdunk

Cuestiones relacionadas