Heroku'da uzak Git revizyonunu görüntüleme


85

Heroku'ya konuşlandırmak için kullanıyorum git push heroku master. Ama hangi revizyonu heroku'ya aktardığımı nasıl görebilirim? (Son sürümü yukarı çıkardığımda sık sık şüphe duyuyorum)

Buna aşina olmayanlar için, Heroku'nun oluşturduğu komut dosyası, gönderdiğiniz uzak bir git deposu oluşturur. Basıldığında, kod sihirli bir şekilde dağıtılır.

Heroku, yerel olana şu şekilde bir uzak deposu ekler:

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

Daha fazla bilgi Heroku'nun "Git ile Dağıtım" kılavuzu

Soru: Heroku deposunda en son sürümü nasıl görebilirim?

Yanıtlar:


63

Yeni gönderdiyseniz ve güncel olduğunuzdan emin olmak istiyorsanız, o zaman koşabilirsiniz git remote show herokuve buna benzer bir çıktı göreceksiniz:

* 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)

Yani (up to date)sonunda yerini alacaktır (fast forwardable)değil güncel olup olmadığını.

Veya, heroku uzaktan kumandası için tam kaydetme günlüğünü görmek istiyorsanız, bilmemin tek yolu önce onu kontrol etmektir. git checkout heroku/mastersize mevcut commit karma ve commit yorumunu verecek HEAD is now at <short commit hash>... <commit comment>ve git logsize hikayenin geri kalanını verecektir.


Bu cevap için çok teşekkürler! Her yerde arıyordum.
tbaums

3
Aslında size ref
demiyor

Dosyaları bir github deposundaki gibi çevrimiçi olarak görmenin bir yolu var mı?
eran otzap

128

Doğru cevap aslında çok basit. Hiçbir şeyi ödünç almanıza gerek yok, COMMIT_HASH hack'lerine (Sedir yığını üzerinde çalışmayan) başvurmanız da gerekmiyor. Yapmanız gereken tek şey:git ls-remote <remote>

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

bu size belirli bir uzak deponun işaret edildiği sürümü gösterecek mi?
EE33

12
Bu mesajın çıktısını almak ve git commit günlüğünü ve metinsel farklılığı kolayca görmek için: git ls-remote heroku | awk 'END{print $1}' | xargs git show
Bobby Norton

@ BobbyNorton'ın yorumu burada doğrudan noktaya cevaptır. Güzel.
Ben Hull

45

Şimdi isteyebilirsiniz heroku releasesve 5 kayıt gibi göreceksiniz. en azından bir başlangıç.


1
Teşekkürler. Bu aslında bana ne öğrenmek istediğimi gösteriyor (gerçekte neyin çalıştığını bir geri alma yaptıktan sonra).
Cymen

24

ne dersin

git log heroku/master

Nasıl dağıttığınıza bağlı olarak, masterşube referansı dağıtılan SHA'ya güncellenebilir veya güncellenmeyebilir.
Justin

11

Az önce yaptığım gibi, bir iş arkadaşınızın heroku uygulamanızı heroku releasesyalnızca 2 sürümü takip ettiği için görünmeyen bir sürüme geri döndürdüğü bir durumla karşılaşırsanız ... heroku / master'ın ödemesi yöntem yardımcı olmaz, çünkü HEAD artık konuşlandırılan şey değildir.

kurtarmak için belgelenmemiş:

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

bu çok tatlı ama son git taahhüdünü almanın bir yolu var mı? ENV'nin tarih için kullanabileceğim herhangi bir değişkeni olmadığını kontrol ettim.
David

10
Bu artık Cedar üzerinde çalışmıyor, eğer yenisi varsa?
dolzenko

Ben olsun 'heroku console' has been disabled( devcenter.heroku.com/changelog-items/109 ). Denedim heroku run "ENV['COMMIT_HASH']"ama anladım bash: ENV[COMMIT_HASH]: command not found. Kullandığım zaman echoipi alıyorum ENV[COMMIT_HASH].
guyaloni

Cedar yığınındaki Rails konsoluna çalıştırarak heroku run consoleerişebilir ve ENV['COMMIT_HASH']değişkenin içinde ne olduğunu çalıştırarak görebilirsiniz heroku run echo $ENV['COMMIT_HASH'](bir ortam değişkeni olduğu için '$' - çok benzer şekilde echo $PATH) gerekir.
slant

-1

heroku, altında düz eski Git kullanıyor, bu yüzden ..

mevcut şubedeki en son 5 taahhüdü göster: git log -5

Git'in kullanıcı arayüzü aracılığıyla kaydetme geçmişini göster: gitk

mevcut durumu görüntüleyin (yüklenmemiş dosyanız varsa gösterilir): git status

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.