การตั้งค่าต้นกำเนิดระยะไกล git


180

ฉันมี repos ต่อไปนี้

  1. DEV REPO: ในไดเร็กทอรีบนเครื่องที่ฉันทำการเปลี่ยนแปลง
  2. หลัก repo: พื้นที่เก็บข้อมูลเปลือยบนเครื่องพัฒนาของฉันที่ฉันผลักดันการเปลี่ยนแปลงจาก dev repo
  3. PRODUCTION REPO: พื้นที่เก็บข้อมูลบนเครื่องโฮสต์เพื่อดึงการอัปเดตจาก repo หลัก

ฉันเคยgit remote add origin /Users/me/sites/main_repoตั้ง repo หลักเป็นจุดเริ่มต้นสำหรับ repo DEV repo การผลิตอยู่ในโฮสต์ระยะไกล ฉันสามารถใช้รูปแบบของคำสั่งเดียวกันเพื่อตั้งค่า repo MAIN เป็นจุดเริ่มต้นสำหรับ repo การผลิตได้หรือไม่ หาก "ใช่" ดังนั้นฉันคิดว่าไวยากรณ์จะรวมที่อยู่ IP มันจะมีหน้าตาเป็นอย่างไร?


คุณไม่ได้หมายความว่า "เพื่อตั้งค่า repo การผลิตเป็นจุดเริ่มต้นสำหรับ repo หลัก"
Pedro A

คำตอบ:


289

ใช้ SSH

git remote add origin ssh://login@IP/path/to/repository

ใช้ HTTP

git remote add origin http://IP/path/to/repository

อย่างไรก็ตามการมีgit pullกระบวนการปรับใช้อย่างง่ายมักเป็นความคิดที่ไม่ดีและควรหลีกเลี่ยงสคริปต์การปรับใช้จริง


6
ทำไมมันเป็นความคิดที่ไม่ดีจริงๆ? ทำการค้นหาบางอย่างในตอนนี้เพื่อดูตัวอย่างสคริปต์การปรับใช้
Jay

14
เนื่องจากการปรับใช้มักจะหมายถึง (อ่าน "เสมอ") มากกว่าสิ่งที่git pullทำ คุณอาจต้องตั้งค่าข้อมูลประจำตัวฐานข้อมูลการผลิตล้างแคชเพิ่มหมายเลขรุ่นสำรองข้อมูลรุ่นเก่าเพื่อให้คุณสามารถย้อนกลับได้หากมีสิ่งผิดปกติเพิ่มประสิทธิภาพ / ลดขนาดสินทรัพย์ของคุณ (เช่น CSS และ Js) และ bazillions ของอื่น ๆ สิ่ง
ผ่อนผัน Herreman

33
@CompareHerreman - ดูเหมือนว่าตามคำอธิบายของคุณการใช้ git pull นั้นไม่ได้เป็น "ความคิดที่ไม่ดี" มากนักเพราะเป็นวิธีแก้ปัญหาที่ จำกัด บางครั้งฉันพบว่า git pull นั้นเป็นโซลูชันการปรับใช้ที่เรียบง่ายและมีประสิทธิภาพอย่างสมบูรณ์แบบเมื่อฉันมีสถานการณ์ง่าย ๆ
เบรดี้โฮลท์

4
ฉันคิดว่าคุณจำเป็นต้องระบุ ssh: // สำหรับวิธี ssh เช่น git จากระยะไกลเพิ่มแหล่งกำเนิด ssh: // login @ IP / path / to / repository
kakyo

4
ฉันคิดว่าถ้าเราปรับเปลี่ยนคำสั่งสุดท้ายเป็น "บางครั้งก็เป็นความคิดที่ไม่ดี" ไม่กล้าเลยนี่จะเป็นคำตอบที่ยอดเยี่ยม
Chris Moschini

104

สำหรับทุกคนที่มาที่นี่อย่างที่ฉันทำมองหาไวยากรณ์เพื่อเปลี่ยนต้นกำเนิดไปยังตำแหน่งอื่นคุณสามารถค้นหาเอกสารได้ที่นี่: https://help.github.com/articles/changing-a-remote-s-url/ . การใช้git remote addการทำเช่นนี้จะส่งผลให้ "ร้ายแรง: มีต้นกำเนิดจากระยะไกลอยู่แล้ว"

สรุป: git remote set-url origin https://github.com/username/repo

(คำตอบที่ทำเครื่องหมายไว้ถูกต้องฉันแค่หวังว่าจะช่วยให้ทุกคนหลงทางเหมือนที่ฉันเป็น ... ฮ่าฮ่า)


2
คำตอบนี้เหมาะสำหรับผู้ที่ต้องการเปลี่ยน "git remote url" ถ้ามีอยู่แล้ว ขอบคุณ @ lostphilosopher
eonist

17

คุณสามารถรวมสาขาที่จะติดตามเมื่อตั้งค่ารีโมทเพื่อให้สิ่งต่าง ๆ ทำงานได้ตามที่คุณคาดหวัง:

git remote add --track master origin user@somesite.com:group/project.git   # git
git remote add --track master origin user@172.16.1.100:group/project.git   # git w/IP
git remote add --track master origin http://github.com/group/project.git   # http
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP
git remote add --track master origin /Volumes/Git/group/project/           # local
git remote add --track master origin G:/group/project/                     # local, Win

สิ่งนี้จะช่วยให้คุณไม่ต้องแก้ไขการตั้งค่า git ด้วยตนเองหรือระบุการติดตามสาขาด้วยตนเอง

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