วิธีเชื่อมโยงโฟลเดอร์กับแอพ Heroku ที่มีอยู่


815

ฉันมีแอพ Rails ที่มีอยู่ใน GitHub และนำไปใช้กับ Heroku ฉันพยายามตั้งค่าเครื่องพัฒนาใหม่และได้โคลนโครงการจากที่เก็บ GitHub ของฉัน อย่างไรก็ตามฉันสับสนว่าจะเชื่อมโยงโฟลเดอร์นี้กับ Heroku ได้อย่างไร เดิมทีฉันใช้heroku createคำสั่ง แต่เห็นได้ชัดว่าฉันไม่ต้องการทำเช่นนี้ในเวลานี้

คำตอบ:


1243

Herokuเชื่อมโยงโครงการของคุณตามherokugit remote (และตัวเลือกอื่น ๆ ดูการปรับปรุงด้านล่าง) ในการเพิ่มรีโมท Heroku ของคุณเป็นรีโมทในที่เก็บปัจจุบันให้ใช้คำสั่งต่อไปนี้:

git remote add heroku git@heroku.com:project.git

projectชื่อโครงการ Heroku ของคุณอยู่ที่ไหน(เหมือนกับproject.heroku.comโดเมนย่อย) เมื่อคุณทำเช่นนั้นคุณสามารถใช้heroku xxxxคำสั่ง (สมมติว่าคุณมีHeroku Toolbeltติดตั้ง) และสามารถผลักดันการ Heroku git push heroku masterตามปกติผ่านทาง หากเป็นทางลัดหากคุณใช้เครื่องมือบรรทัดคำสั่งคุณสามารถพิมพ์:

heroku git:remote -a project

ที่ไหนอีกครั้งprojectคือชื่อของโครงการ Heroku ของคุณ (ขอขอบคุณพันเอก Panic ) คุณสามารถตั้งชื่ออะไรระยะไกล Git -r remote_nameคุณต้องการโดยผ่าน

[Update]

ตามที่เบ็นกล่าวถึงในความคิดเห็นรีโมตไม่จำเป็นต้องตั้งชื่อherokuให้คำสั่งอัญมณีทำงาน ฉันตรวจสอบแหล่งที่มาและดูเหมือนว่ามันจะทำงานดังนี้

  1. หากคุณระบุชื่อแอพผ่าน--appตัวเลือก (เช่นheroku info --app myapp) มันจะใช้แอพนั้น
  2. หากคุณระบุชื่อรีโมต Git ผ่าน--remoteตัวเลือก (เช่นheroku info --remote production) มันจะใช้แอพที่เชื่อมโยงกับ Git รีโมตนั้น
  3. หากคุณไม่ได้ระบุตัวเลือกใด ๆ และคุณได้heroku.remoteตั้งค่าไว้ในไฟล์ Git แล้วมันจะใช้แอพที่เกี่ยวข้องกับรีโมตนั้น (ตัวอย่างเช่นการตั้งค่ารีโมตเริ่มต้นเป็น "การผลิต" ใช้git config heroku.remote productionในที่เก็บของคุณและ Heroku จะเรียกใช้git config heroku.remoteเพื่ออ่านค่า ของการตั้งค่านี้)
  4. หากคุณไม่ระบุตัวเลือกอัญมณีจะไม่พบการกำหนดค่าใน.git/configไฟล์ของคุณและอัญมณีจะค้นหารีโมตเดียวในรีโมท Git ของคุณที่มี "heroku.com" ใน URL มันจะใช้รีโมตนั้น
  5. หากไม่มีงานเหล่านี้มันจะทำให้เกิดข้อผิดพลาดที่สั่งให้คุณผ่าน--appไปยังคำสั่งของคุณ

ลิงก์ไปยัง "แหล่งที่มา" ด้านบนไม่ทำงาน อาจจะลองหน้านี้: devcenter.heroku.com/articles/using-the-cli - แม้ว่าฉันคิดว่าเอกสารมีไม่เพียงพอ
Purplejacket

1
หากคุณพยายามใช้heroku git:remoteวิธีการตรวจสอบว่าคุณใช้ Heroku toolbelt cli และคุณยังไม่ได้ติดตั้งอัญมณี heroku ใด ๆ ในระบบของคุณ (ดูเหมือนว่ามันไม่ได้ผลสำหรับฉันกับพลอยเก่า)
Pierre-Adrien Buisson

3
นอกจากนี้สำหรับ heroku กิ่งต่าง ๆ คุณสามารถใช้$ git config heroku.remote <appname>เพื่อตั้งค่าแอพเริ่มต้นเพื่อให้คุณสามารถใช้คำสั่งเทอร์มินัลสำหรับแอพนั้น
Sheharyar

1
หากใช้ http เช่นheroku loginนั้นจะมีรูปแบบรีโมตhttps://git.heroku.com/project-name.git
max pleaner

1
หมายเหตุ: ตอนนี้ Heroku อธิบายไว้ในภาพรวมโครงการ: ไปที่dashboard.heroku.comคลิกที่แอปของคุณจากนั้นเปลี่ยนเป็นแท็บ "ปรับใช้" และเลือกวิธีการปรับใช้ "Heroku git" (เลือกตามค่าเริ่มต้น) จากนั้นคุณจะได้รับคำแนะนำวิธีการเชื่อมต่อโฟลเดอร์ / git ที่มีอยู่กับ Heroku
มีประโยชน์

230

Heroku CLIมีทางลัดที่ง่ายสำหรับการนี้ สำหรับแอปชื่อ 'falling-wind-1624':

$ heroku git:remote -a falling-wind-1624
Git remote heroku added.

ดูhttps://devcenter.heroku.com/articles/git#creating-a-heroku-remote


1
! Resource not found
Green

1
คุณสามารถตั้งชื่อรีโมตสิ่งที่คุณต้องการโดยผ่าน-r other_remote_name
MasterScrat

2
นี่เป็นวิธีที่ถูกต้องแม้ว่าคุณจะเชื่อมต่อแอพ Heroku ของคุณกับ GitHub โดยตรง โปรดทราบว่าจะไม่เขียนทับรีโมท "ต้นทาง" ของคุณ มันสร้างรีโมต "heroku" แทน
เซท

144

อย่าลืมถ้าคุณอยู่ในเครื่องที่คุณไม่เคยตั้ง heroku มาก่อน

heroku keys:add

หรือคุณจะไม่สามารถผลักดันหรือดึงไปที่ repo


3
โอ้ใช่! นั่นก็ช่วยฉันด้วย ฉันมีแอพที่เราเริ่มต้นพื้นฐานจากนั้นแยก "heroku" เป็น "การจัดเตรียม" และ "การผลิต" ดังนั้นฉันจึงทำgit remote add staging git@staging.xx:yy.gitและgit remote add production git@production.xx:yy.git- แต่นั่นยังไม่เพียงพอ เมื่อฉันพยายามที่จะทำgit push staging master(หรือการผลิต) ฉันจะได้รับ "สิทธิ์การใช้งานถูกปฏิเสธ (publickey) ร้ายแรง: สิ้นสุดระยะไกลแขวนขึ้นโดยไม่คาดคิด" สิ่งที่แก้ไขข้อผิดพลาดนั้นคือทำheroku keys:addตามที่ Ghoti กล่าวถึง
Purplejacket

8

สองสิ่งที่ต้องระวังในขณะตั้งค่าระบบการปรับใช้ใหม่สำหรับแอปเก่า

1. เพื่อตรวจสอบการเข้าถึงแอปของคุณไปยัง Heroku (โดยเฉพาะแอพ)

heroku apps

มันจะแสดงรายการแอพที่คุณเข้าถึงหากคุณตั้งค่าเป็นครั้งแรกคุณอาจจำเป็นต้อง

heroku keys:add

2. จากนั้นตั้งค่ารีโมทคอมไพล์ของคุณ

สำหรับแอพ Heroku ที่สร้างขึ้นแล้วคุณสามารถเพิ่มรีโมตไปยังที่เก็บข้อมูลโลคัลได้ง่ายๆด้วยheroku git: remoteคำสั่ง สิ่งที่คุณต้องการคือชื่อแอพ Heroku ของคุณ:

heroku git:remote -a appName

คุณสามารถเปลี่ยนชื่อรีโมตของคุณด้วยคำสั่ง git remote rename:

git remote rename heroku heroku-dev(you desired app name)

จากนั้นคุณสามารถใช้คำสั่ง git remote เพื่อยืนยันว่ามีการตั้งค่ารีโมตสำหรับแอปของคุณแล้ว

 git remote -v

4

ใช้ส้อมของ heroku

  1. ใช้คำสั่ง "heroku fork" ใหม่! มันจะคัดลอกสภาพแวดล้อมทั้งหมดและคุณต้องอัปเดต gitub repo หลังจาก!

    heroku fork -a sourceapp targetapp
    
  2. ลอกเลียนแบบมันในเครื่อง

    git clone git@heroku.com:youamazingapp.git
    
  3. ทำธุรกรรมซื้อคืนใหม่บน Github และเพิ่ม

    git remote add origin https://github.com/yourname/your_repo.git
    
  4. ผลักดัน GitHub

    git push origin master
    



1

สำหรับพื้นที่เก็บข้อมูลที่มีอยู่

พิมพ์ใน terminal

$ heroku git: ตัวอย่างจากระยะไกล

ป้อนคำอธิบายรูปภาพที่นี่

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