Cómo ver la revisión remota de Git en Heroku


85

Para implementar en Heroku, utilizo git push heroku master. Pero, ¿cómo veo qué revisión subí a heroku? (A menudo tengo dudas si subí la versión reciente)

Para aquellos que no están familiarizados con él, el script de creación de Heroku genera un repositorio de git remoto al que puede enviar. Al empujarlo, el código se implementa mágicamente.

Heroku agrega un repositorio remoto al local en la forma:

$ git remote add heroku git@heroku.com:appname.git

Más información en el manual de Heroku "Implementación con Git"

La pregunta es: ¿Cómo puedo ver la última versión en el repositorio de Heroku?

Respuestas:


63

Si acaba de presionar y desea asegurarse de estar actualizado, puede ejecutar git remote show herokuy verá un resultado similar a este:

* remote heroku
  Fetch URL: git@heroku.com:XXX.git
  Push  URL: git@heroku.com:XXX.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (up to date)

Eso (up to date)al final será reemplazado por (fast forwardable)si no está actualizado.

O, si desea ver el registro de confirmación completo para el control remoto heroku, la única forma que conozco es comprobarlo primero. git checkout heroku/masterle dará el hash de confirmación actual y el comentario de confirmación:, HEAD is now at <short commit hash>... <commit comment>y git logle dará el resto de la historia.


¡Muchas gracias por esta respuesta! Lo estaba buscando por todas partes.
tbaums

3
En realidad no te dice el árbitro
Obie

¿Hay alguna forma de ver los archivos en línea como en un repositorio de github?
eran otzap

128

La respuesta correcta es realmente muy simple. No necesitas pagar nada, ni tienes que recurrir a los hacks COMMIT_HASH (que no funcionan en la pila Cedar). Todo lo que necesitas hacer es:git ls-remote <remote>

 > git ls-remote heroku
ddaszxcewb585d3a3c00de816a197b14462791a3        HEAD
ddaszxcewb585d3a3c00de816a197b14462791a3        refs/heads/master

¿Entonces esto le mostrará la versión a la que apunta un repositorio remoto en particular?
EE33

12
Para tomar la salida de este mensaje y ver fácilmente el registro de confirmación de git y la diferencia textual: git ls-remote heroku | awk 'END{print $1}' | xargs git show
Bobby Norton

El comentario de @BobbyNorton es la respuesta directa aquí. Agradable.
Ben Hull

45

Es posible que ahora desee heroku releasesy verá como 5 confirmaciones. un comienzo al menos.


1
Gracias. Esto realmente me muestra lo que quiero averiguar (después de hacer una reversión de lo que realmente se está ejecutando).
Cymen

24

qué pasa

git log heroku/master

Dependiendo de cómo se implemente, la masterreferencia de la rama puede actualizarse o no al SHA que se implementó.
Justin

11

si se ha encontrado con la situación, como acabo de hacer, en la que un compañero de trabajo revirtió su aplicación heroku a una versión que no aparece heroku releases porque solo realiza un seguimiento de 2 versiones ... el pago de heroku / master El método no ayudará, porque HEAD ya no es lo que se implementa.

los indocumentados al rescate:

$ heroku console "ENV['COMMIT_HASH']"
"12abcdef"

eso es dulce, pero hay alguna forma de obtener el último compromiso de git. Verifiqué que ENV no tiene ninguna variable que pueda usar para la fecha.
David

10
Esto ya no funciona en Cedar, ¿si hay algún reemplazo?
dolzenko

Recibo 'heroku console' has been disabled( devcenter.heroku.com/changelog-items/109 ). Lo intenté heroku run "ENV['COMMIT_HASH']"pero lo consigo bash: ENV[COMMIT_HASH]: command not found. Cuando lo uso echo, obtengo la cadena ENV[COMMIT_HASH].
guyaloni

Puede acceder a la consola de Rails en la pila Cedar ejecutando heroku run consoley puede ver qué hay dentro de la ENV['COMMIT_HASH']variable ejecutándola heroku run echo $ENV['COMMIT_HASH'](dado que es una variable de entorno, necesita el '$', muy parecido echo $PATH).
sesgado

-1

heroku está usando Git simple y simple debajo, así que ...

muestra las últimas 5 confirmaciones en la rama actual: git log -5

muestre el historial de confirmación a través de la interfaz gráfica de usuario de Git: gitk

ver el estado actual (se mostrará si tiene archivos no comprometidos): git status

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.