วิธีดูการแก้ไข Git ระยะไกลบน Heroku


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 repo
eran otzap

128

คำตอบที่ถูกต้องนั้นง่ายมาก คุณไม่จำเป็นต้องชำระเงินใด ๆ และคุณไม่ต้องหันไปใช้ COMMIT_HASH แฮ็ก (ซึ่งใช้ไม่ได้กับ Cedar stack) สิ่งที่คุณต้องทำคือ:git ls-remote <remote>

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

ดังนั้นสิ่งนี้จะแสดงเวอร์ชันที่พื้นที่เก็บข้อมูลระยะไกลชี้ไปที่?
EE33

12
ในการรับผลลัพธ์ของข้อความนี้และดูบันทึกคอมมิตและความแตกต่างของข้อความได้อย่างง่ายดาย: git ls-remote heroku | awk 'END{print $1}' | xargs git show
Bobby Norton

ความคิดเห็นของ @ BobbyNorton คือคำตอบตรงประเด็นที่นี่ ดี.
Ben Hull

45

ตอนนี้คุณอาจต้องการheroku releasesและคุณจะเห็นการกระทำ 5 อย่าง เริ่มต้นอย่างน้อย


1
ขอบคุณ. สิ่งนี้แสดงให้ฉันเห็นสิ่งที่ฉันต้องการค้นหา (หลังจากทำการย้อนกลับสิ่งที่กำลังทำงานอยู่)
Cymen

24

แล้ว

git log heroku/master

ขึ้นอยู่กับว่าคุณปรับใช้การmasterอ้างอิงสาขาอาจหรือไม่ได้รับการอัพเดตเป็น SHA ที่ปรับใช้
จัสติน

11

หากคุณเจอสถานการณ์เช่นเดียวกับที่ฉันเคยทำที่เพื่อนร่วมงานย้อนกลับแอป heroku ของคุณไปยังรุ่นที่ไม่แสดงheroku releasesเพราะพวกเขาติดตามเพียง 2 รุ่นเท่านั้น ... การชำระเงินของ heroku / master วิธีการจะไม่ช่วยเพราะ HEAD ไม่ใช่สิ่งที่ทำให้ใช้งานได้อีกต่อไป

เอกสารที่ไม่ได้รับการช่วยเหลือ:

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

มันหวาน แต่มีวิธีใดบ้างที่จะทำให้คอมไพล์สุดท้ายได้ ฉันตรวจสอบว่า ENV ไม่มีตัวแปรใด ๆ ที่ฉันสามารถใช้สำหรับวันที่ได้
เดวิด

10
สิ่งนี้ใช้ไม่ได้กับ Cedar อีกต่อไปหากมีการทดแทน?
dolzenko

ฉันได้รับ'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

คุณสามารถเข้าถึงคอนโซล Rails บน Cedar stack ได้โดยการเรียกใช้heroku run consoleและคุณสามารถดูสิ่งที่อยู่ภายในENV['COMMIT_HASH']ตัวแปรได้โดยการรันheroku run echo $ENV['COMMIT_HASH'](เนื่องจากเป็นตัวแปรสภาพแวดล้อมคุณต้องมี '$' - เหมือนมากecho $PATH)
เอียง

-1

heroku ใช้ Git เก่าธรรมดาอยู่ข้างใต้ดังนั้น ..

แสดงข้อผูกพัน 5 ข้อล่าสุดในสาขาปัจจุบัน: git log -5

แสดงประวัติการกระทำผ่าน Git's gui: gitk

ดูสถานะปัจจุบัน (จะแสดงหากคุณมีไฟล์ที่ไม่ได้รับคำสั่ง): git status

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.