Error al get git local en el nuevo repository github

– EDITAR – Terminé copyndo todos los files a otra carpeta desde allí. Sin el historial de compromiso. 🙁

Gracias por responder tho.

– / EDITAR –

Soy nuevo en git. Para mi aplicación html5 utilicé la plantilla html5 de aptana que instala un repository git para usted. Bonito. Ahora, después de trabajar en mi aplicación durante unas semanas, quiero enviarlo a github. Creé un nuevo repository allí.

Ahora cuando bash presionar a github desde el shell o tortoisegit, me encuentro con errores después de cargar todos los files:

$ git push -u origin master ... remote: error: unable to find b4587434...<snip>...c701 (probably a checksum) remote: fatal: objet of unexpected type error: unpack failed: index-pack abnormal exit ! [remote rejected] master -> master (unpacker error) error: failed to push some refs to 'https://github.com/<user>/<project>.git' 

He estado buscando una solución, pero todavía no he podido encontrar algo. Algunas acciones que intenté no ayudaron:

  • He cambiado el nombre de origen a otra cosa.
  • Creé otro repository en github.
  • "estado de git" confirma que no tengo nada que comprometer.

Por favor ayuda, es realmente frustrante que git les cueste tanto time encontrar algo que debería ser simple. 🙁

Nota: al less con git 2.0.1 (25 de junio de 2014), el post de error podría ser más específico.

Ver commit 77583e7 por Jeff King ( peff ) :

index-pack : distinguir los objects faltantes de los errores de tipo

Cuando buscamos un package que no contiene un object que esperábamos recibir, obtenemos un error como:

 $ git init --bare tmp.git && cd tmp.git $ git fetch ../parent.git [...] error: Could not read 964953ec7bcc0245cb1d0db4095455edd21a2f2e fatal: Failed to traverse parents of commit b8247b40caf6704fe52736cdece6d6aae87471aa error: ../parent.git did not send all necessary objects 

Esto proviene de check_everything_connected rev-list . Si tratamos de clonar el mismo repository (en lugar de una fetch ), terminamos utilizando la opción de --check-self-contained-and-connected index-pack --check-self-contained-and-connected , que produce resultados como:

 $ git clone --no-local --bare parent.git tmp.git [...] fatal: object of unexpected type fatal: index-pack failed 

No solo falta el sha1, sino que es un post engañoso.
No hay problema de tipo, sino más bien un problema de object faltante; no notamos la diferencia porque simplemente comparamos OBJ_BAD != OBJ_BLOB .
Vamos a proporcionar un post diferente para este caso:

 $ git clone --no-local --bare parent.git tmp.git fatal: did not receive expected object 6b00a8c61ed379d5f925a72c1987c9c52129d364 fatal: index-pack failed 

Mientras estamos en ello, también vamos a mejorar un verdadero error de desajuste de tipo para que se vea como

 fatal: object 6b00a8c61ed379d5f925a72c1987c9c52129d364: expected type blob, got tree 

Entonces, una cosa que podrías intentar es:

  1. Ir a github.com/THE_REPO_YOU_MADE
  2. Copie la url de SSH que se encuentra en la parte superior de su repository
  3. Eliminar cualquier control remoto de origen antiguo

     git remote git remote rm origin 
  4. Crea un control remoto github llamado "origen" (o el nombre que quieras)

     git remote add origin git@github.com:USER_NAME/REPO_NAME.git 
  5. Empuja tus files al control remoto que acabas de agregar

     git push remote origin master 

estos pasos son asumir que has hecho:

 git init # creates a local repo git add . # adds all files in the current directory git commit -m "init commit" #commits your init 

Sé que estos son pasos muy básicos y es posible que no responda el error que recibió, pero estos pasos

Otra cosa que debes probar es verificar si tienes un repository dentro de un repository. esto es algo con lo que mis alumnos se topan a veces. causará algunos errores al atar para empujar y también con permissions

Intenté reflejar el arranque de Twbs, pero obtuve un error como este y mi problema fue que --depth=1 el repository con --depth=1 . Re- --depth= el repository sin el argumento --depth= y todo funcionó perfectamente usando estos pasos:

  1. git clone --bare https://github.com/twbs/bootstrap.git
  2. cd bootstrap.git
  3. git push --mirror git@github.com:yourusername/your-repo-name.git
  4. cd ../ && rm -rf bootstrap.git
  5. git clone git@github.com:yourusername/your-repo-name.git
  6. cd your-repo-name
  7. git remote add twbs https://github.com/twbs/bootstrap.git

Ahora puede presionar a su propia versión del repository con el git push origin master y si desea get cambios del repository original, puede hacer git pull twbs master .

Más información disponible @ https://help.github.com/articles/duplicating-a-repository/