2012-09-13 29 views
6

Recibí este mensaje de error (copiado a continuación) después de intentar presionar a Heroku. Inicialmente configuré una aplicación de Facebook para lienzos y seleccioné el hosting en las opciones de heroku. Me dio una url heroku, que he añadido como un control remoto en la aplicación que estaba desarrollando en mi máquinaHeroku: cómo "git pull" después de 'git push -f'

heroku git:remote -a desolate-springs-1684 

Pero cuando me empujó, me dio este error

error: failed to push some refs to '[email protected]:desolate-springs-1684.git' 
To prevent you from losing history, non-fast-forward updates were rejected 
Merge the remote changes (e.g. 'git pull') before pushing again. See the 
'Note about fast-forwards' section of 'git push --help' for details. 
localhost:nhl michaelmitchell$ 

así lo hice

git push -f heroku master 

Pero ahora aparentemente tengo que hacer un 'git pull'. Sin embargo, ¿qué pongo después del 'git pull'? El nombre de la url heroku? ¿o algo mas?

Respuesta

18

Obligar a su git push no fue una buena idea porque perdió la confirmación que usted u otros colaboradores había perdido en su copia de trabajo.

Antes de continuar, debe haber fusionado o cambiado los cambios en la copia de trabajo local.

para combinar los cambios a nivel local

$ git pull heroku master 
$ git push heroku master 

Para rebase los cambios localmente

$ git pull --rebase heroku master 
$ git push heroku master 

Por cierto, ahora que han empujado a los cambios, que en realidad no es necesario hacer nada más. El repositorio remoto ya contiene todos sus cambios.

Si por cualquier razón el comando $ git status está volviendo referencias obsoletas, simplemente ejecute

$ git pull heroku 

a buscar todos los cambios remotos. Tenga en cuenta que a menos que especifique una rama de destino (o tenga habilitada la rama de seguimiento), git pull simplemente descargará (y no fusionará) los cambios en sentido ascendente.

También tenga en cuenta que Heroku no debe considerarse un hospedaje de git. Significa que es extremadamente raro realizar un git pull desde Heroku. En su lugar, debe usar un hosting git (como GitHub o BitBucket) para almacenar su repositorio y solo realizar push a Heroku para implementar la aplicación.

1

Ese error básicamente significa que hay un código en el repositorio que es más reciente que el código que intentas insertar.

que tiene que hacer un tirón y actualizar su propio repositorio de trabajo después empuje de nuevo, o simplemente forzar un empuje

git pull heroku master 

Como nota al margen, si usted no está familiarizado con todos los comandos de Git, me le recomendaría que use una GUI, ya que puede hacer que todo el proceso sea mucho menos abrumador.

Hay muchos buenos clientes aquí: http://git-scm.com/downloads/guis