วิธีเปลี่ยน Git remote บน Heroku


106

ฉันไม่ต้องการอัปโหลดแอปของฉันไปยังโดเมนที่ไม่ถูกต้อง

ฉันจะเปลี่ยนสาขาหลัก git บน git ได้อย่างไร


ใช่. ฉันได้สร้างแอป heroku ใหม่: heroku สร้าง myapp แต่ฉันมีแอพอื่นใน heroku ฉันแค่ต้องการเปลี่ยน git master เป็นแอพใหม่ เพื่อให้ฉันสามารถพูด git push heroku master และรหัสจะถูกโหลดไปยังแอปใหม่ไม่ใช่แอปเก่า
จอน

อาจซ้ำกันได้ของReplace remote git repo (Heroku)
lambshaanxy

คำตอบ:


175

หากคุณกำลังทำงานบนherokuรีโมท (ค่าเริ่มต้น):

heroku git:remote -a [app name]

หากคุณต้องการระบุรีโมตอื่นให้ใช้-rอาร์กิวเมนต์:

heroku git:remote -a [app name] -r [remote] 

แก้ไข: ขอบคุณАлексейВолодькоสำหรับการชี้ให้เห็นว่าไม่จำเป็นต้องลบรีโมทเก่า


8
เพียงทำตามแนวทางนี้และดูเหมือนว่าจะเป็นวิธีที่ถูกต้องในปัจจุบัน
โจ

1
เนื่องจากไม่มีคำตอบที่ถูกกำหนดโดย OP และคำตอบนี้เป็นคำตอบโดยรวมสำหรับคำถามของ OP และมีคะแนนโหวตมากกว่าคำตอบ "ด้านบน" ด้านบนเหตุใดคำตอบนี้จึงยังคงแสดงอยู่ด้านล่างของคำตอบที่ตกลงกันน้อยกว่า ขอบคุณ.
Devon Kiss

5
ไม่จำเป็นต้องถอดรีโมทคอมไพล์เก่าออก heroku git:remote -a appname- จะเปลี่ยนอันเก่าก็ดี
Alexey Volodko

101

สมมติว่ารีโมทปัจจุบันของคุณตั้งชื่อoriginแล้ว:

ลบการอ้างอิงระยะไกลปัจจุบันด้วย

git remote rm origin

เพิ่มรีโมทใหม่

git remote add origin <URL to new heroku app>

ผลักดันไปยังโดเมนใหม่

git push -u origin master

-uจะตั้งขึ้นนี้เป็นการติดตาม


ฉันจะรู้ได้อย่างไรว่าต้นกำเนิดของฉันชื่ออะไร?
ทางรถไฟเริ่มต้น

1
คุณช่วยอธิบายความหมายที่นี่ได้The -u will set this up as tracked.ไหมขอบคุณ!
uday

1
@uDay หมายความว่าเมื่อคุณขอให้ดึงมันจะรู้ว่าต้องดึงและรวมสาขานี้
Abizern

1
ฉันจะอัปเดตคำตอบนี้เพื่อลบรีโมต heroku ในตอนแรก - ไม่ใช่ git remote origin master ...
zero_cool

7
  1. ดู URL ระยะไกล

    > git remote -v

    heroku  https://git.heroku.com/###########.git (fetch) < your Heroku Remote URL
    heroku  https://git.heroku.com/############.git (push)
    origin  https://github.com/#######/#####.git (fetch) < if you use GitHub then this is your GitHub remote URL
    origin  https://github.com/#######/#####.git (push)
  1. ลบ URL ระยะไกลของ Heroku

    > git remote rm heroku

  2. ตั้งค่า Heroku URL ใหม่

    > heroku git:remote -a ############

และคุณทำเสร็จแล้ว


6

สิ่งนี้ใช้ได้ผลสำหรับฉัน:

git remote set-url heroku <repo git>

URL นี้ทดแทน heroku เก่า

คุณสามารถตรวจสอบกับ:

git remote -v

3

คุณสามารถมีสาขาได้มากเท่าที่คุณต้องการเช่นเดียวกับที่เก็บ git ทั่วไป แต่ตามเอกสารของ heroku สาขาอื่นที่ไม่ใช่masterจะถูกละเว้น

http://devcenter.heroku.com/articles/git

สาขาที่ส่งไปยัง Heroku นอกเหนือจากสาขาหลักจะถูกละเว้น หากคุณกำลังดำเนินการจากสาขาอื่นในพื้นที่คุณสามารถรวมเป็นสาขาหลักก่อนที่จะผลักดันหรือระบุว่าคุณต้องการผลักดันสาขาในพื้นที่ของคุณไปยังผู้เชี่ยวชาญระยะไกล

ซึ่งหมายความว่าคุณสามารถพุชอะไรก็ได้ที่คุณต้องการ แต่แอพที่ heroku จะชี้ไปที่สาขาหลักเสมอ

แต่หากคุณตั้งคำถามเกี่ยวกับวิธีการสร้างสาขาและการทำงานกับคอมไพล์คุณควรตรวจสอบคำถามอื่นนี้


1
ฉันจะเปลี่ยน git master ได้อย่างไร
จอน

คุณหมายถึงอะไร? โดยchange the git masterคุณหมายถึงการเปลี่ยนแปลงไฟล์จากนั้นกระทำและผลักดันไป? เปลี่ยนชื่อไหม คุณกำลังพยายามทำอะไรกันแน่?
Felipe Sabino

1
เพิ่งเห็นความคิดเห็นของคุณในคำถามคุณกำลังมีปัญหากับรีโมตไม่ใช่กับสาขา ... ตรวจสอบคำตอบของ @ Abizern :)
Felipe Sabino

1

นี่คือคำตอบที่ดีกว่าที่พบในเอกสาร Git

สิ่งนี้แสดงให้เห็นว่ารีโมทของ heroku คืออะไร:

$ git remote get-url heroku

พบได้ที่นี่: https://git-scm.com/docs/git-remote นอกจากนี้ในเอกสารนั้นยังมี set-url หากคุณต้องการเปลี่ยนแปลง


0

หากคุณมีหลายแอปพลิเคชันบน heroku และต้องการเพิ่มการเปลี่ยนแปลงให้กับแอปพลิเคชันเฉพาะให้เรียกใช้คำสั่งต่อไปนี้: heroku git: remote -a appname แล้วเรียกใช้สิ่งต่อไปนี้ 1) เพิ่มคอมไพล์ 2) คอมมิตคอมมิต -m "การเปลี่ยนแปลง" 3) คอมไพล์ push heroku master

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