Heroku에서 원격 Git 개정을 보는 방법


85

Heroku에 배포하기 위해 git push heroku master. 하지만 어떤 개정판을 heroku로 푸시했는지 어떻게 알 수 있습니까? (최신 버전을 올리면 자주 의심됩니다)

익숙하지 않은 사용자를 위해 Heroku의 생성 스크립트는 푸시 할 원격 git 저장소를 생성합니다. 푸시하면 코드가 마술처럼 배포됩니다.

Heroku는 다음 형식으로 원격 저장소를 로컬 저장소에 추가합니다.

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

자세한 정보는 Heroku 매뉴얼 "Git으로 배포"

질문 : Heroku 저장소에서 최신 버전을 어떻게 볼 수 있습니까?

답변:


63

방금 푸시했고 최신 상태인지 확인하려면 실행 만하면 다음 git remote show heroku과 유사한 출력이 표시됩니다.

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

그건 (up to date)말에 의해 대체 될 것이다 (fast forwardable)그렇지 않은 최신 경우.

또는 heroku 원격에 대한 전체 커밋 로그를보고 싶다면 먼저 확인하는 방법을 아는 유일한 방법입니다. git checkout heroku/master당신에게 현재를 줄 것이다 해시를 커밋 코멘트를 약속한다 HEAD is now at <short commit hash>... <commit comment>, 그리고 git log당신에게 이야기의 나머지를 줄 것이다.


이 답변에 감사드립니다! 나는 그것을 어디에서나 찾고 있었다.
tbaums

3
실제로 심판을 말하지 않습니다
Obie

github 저장소 에서처럼 온라인으로 파일 자체를 볼 수있는 방법이 있습니까?
eran otzap

128

정답은 사실 아주 간단합니다. 아무것도 체크 아웃 할 필요가 없으며 COMMIT_HASH 해킹 (Cedar 스택에서는 작동하지 않음)에 의지 할 필요도 없습니다. 당신이해야 할 일은 :git ls-remote <remote>

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

그러면 특정 원격 저장소가 가리키는 버전이 표시됩니까?
EE33

12
이 메시지의 출력을 가져 와서 git 커밋 로그와 텍스트 차이를 쉽게 보려면 : git ls-remote heroku | awk 'END{print $1}' | xargs git show
Bobby Norton

@BobbyNorton의 의견은 여기에서 직접적인 대답입니다. 좋은.
Ben Hull

45

이제 원할 수 있으며 heroku releases5 개의 커밋이 표시됩니다. 적어도 시작.


1
감사. 이것은 실제로 내가 찾고 싶은 것을 보여줍니다 (실제로 실행중인 것을 롤백 한 후).
Cymen

24

~는 어때

git log heroku/master

배포 방법에 따라 master분기 참조가 배포 된 SHA로 업데이트되거나 업데이트되지 않을 수 있습니다.
Justin

11

방금했던 것처럼 동료 heroku releases가 2 개의 릴리스 만 추적하기 때문에 표시되지 않는 릴리스로 heroku 앱을 롤백 한 경우 ... heroku / master의 체크 아웃 HEAD가 더 이상 배포되지 않기 때문에 메서드가 도움이되지 않습니다.

문서화되지 않은 사람을 구출 :

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

그것은 달콤하지만 마지막 git 커밋을 얻을 수있는 방법이 있습니다. ENV에 날짜에 사용할 수있는 변수가 없는지 확인했습니다.
David

10
대체품이 있으면 Cedar에서 더 이상 작동하지 않습니까?
dolzenko 2011 년

나는 'heroku console' has been disabled( devcenter.heroku.com/changelog-items/109 )를 얻습니다 . 나는 시도 heroku run "ENV['COMMIT_HASH']"했지만 얻는다 bash: ENV[COMMIT_HASH]: command not found. 사용할 때 echo문자열을 얻습니다 ENV[COMMIT_HASH].
guyaloni 2013 년

실행하여 Cedar 스택의 Rails 콘솔에 액세스 heroku run console할 수 ENV['COMMIT_HASH']있으며 실행 하여 변수 내부에있는 내용을 볼 수 있습니다 heroku run echo $ENV['COMMIT_HASH'](환경 변수이므로 '$'가 필요합니다 echo $PATH.).
slant

-1

heroku는 밑에 평범한 오래된 Git을 사용하고 있습니다.

현재 브랜치의 최근 커밋 5 개를 표시합니다. git log -5

Git의 GUI를 통해 커밋 기록을 표시합니다. gitk

현재 상태보기 (커밋되지 않은 파일이있는 경우 표시됨) : git status

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.