Duplicar posible:
'git pull origin mybranch' leaves local mybranch N commits ahead of origin. Why?Git - "Tu sucursal está por delante de 'origin/master' por 3 commits."
estoy recibiendo esta información en git
>git status
# On branch master
# Your branch is ahead of 'origin/master' by 3 commits.
#
nothing to commit (working directory clean)
Y, cuando trato de empujar, me sale esto:
fatal: failed to write object
error: unpack failed: unpacker exited with error code
To ssh:<my repository>
! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ssh:<my repository>'
He estado buscando en Google un poco, (por ejemplo, aquí hay una pregunta de stackoverflow aquí - 'git pull origin mybranch' leaves local mybranch N commits ahead of origin. Why?) y el consejo general parece ser hacer un pull y luego un push. Pero esto no funciona para mí, un tirón me dice que estoy actualizado. También probé 'origen de git fetch' (nada). También lo intenté:
> git remote show origin
* remote origin
URL: ssh://<my repository>
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (fast forwardable)
En caso de que ayude a alguien.
También traté de agregar un archivo ficticio en nuestro servidor web (que también verifica el maestro), enviándolo y empujándolo hacia arriba, luego tirando hacia abajo localmente. Eso funcionó bien. Pero todavía no puedo empujar. ¿Alguien puede decirme lo que tengo que hacer para resolver esto? Ni siquiera sé realmente lo que significa decir que he reenviado rápidamente en relación con el repositorio.
aplausos, máximo
EDITAR - para Ebneter y Dan (gracias)
> git config -l
user.name=Max Williams
push.default=tracking
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=ssh://<my repo url>
branch.master.remote=origin
branch.master.merge=refs/heads/master
Una captura de pantalla de gitk está en http://dl.dropbox.com/u/846812/gitk.png
- soy nuevo GIT, así que puede No interpreto esto muy bien, pero me pregunto si la confirmación hecha como root (línea 6 en la sección superior), 'merge branch master ...' quizás haya mejorado las cosas. Yo no recuerdo haber hecho un commit como root, desconcertado ...
Dan - Creo que tienes razón: el error que consigo cuando intento de empujar es
error: unable to create temporary sha1 filename ./objects/05: File exists
fatal: failed to write object
error: unpack failed: unpacker exited with error code
EDITAR - este comentario de la otra pregunta stackOverflow me he referido anteriormente hizo realidad solucionarlo:
Git remoto solos (mostrando la dirección correcta para GitHub repo) no es lo suficientemente . Para evitar tener un mensaje de advertencia "Sucursal está adelante" después de un git pull, primero necesita definir también el nombre remoto para una sucursal. De ahí mi sugerencia: escriba git config branch.master.remote yourGitHubRepo.git, luego pruebe un git pull y un estado de git y verifique si el problema persiste. - VonC 16 de noviembre a las 20:22
Prueba a ejecutar 'gitk --all' para obtener una idea de dónde están tus commits. – noah
El error que está recibiendo generalmente indica que algo está mal en el control remoto. Sin embargo, pareces estar implicando que * puedes * presionar desde tu servidor web. ¿Está bien? ¿Puedes mostrar el contenido completo de tu archivo de configuración (git config -l)? – ebneter
Hay una respuesta provista [aquí] (http://stackoverflow.com/questions/1741143/git-git-pull-origin-mybranch-leaves-local-mybranch-n-commits-ahead-of-origin) – Surya