Skip to main content

การจัดการหลาย Remotes ใน Git

บทนำ​

ใน Git, การใช้งานหลาย remotes ช่วยให้คุณสามารถเชื่อมต่อกับหลาย ๆ repository ในเวลาเดียวกัน ซึ่งเป็นประโยชน์เมื่อคุณต้องการทำงานกับ repository หลัก (เช่น origin) และ repository อื่น ๆ ที่อาจจะเป็น fork หรือสำรองข้อมูล โดยการจัดการหลาย remotes จะช่วยให้คุณสามารถทำงานร่วมกันได้ง่ายขึ้นและสามารถผลักดันข้อมูลไปยังหลาย ๆ ที่ได้

ในบทนี้เราจะเรียนรู้เกี่ยวกับการจัดการหลาย remotes และคำสั่งที่ใช้ในการทำงานกับหลาย remotes ใน Git

1. การเพิ่ม Remote ใหม่​

ในการเพิ่ม remote ใหม่ให้กับ repository ของคุณ คุณสามารถใช้คำสั่ง git remote add เพื่อเพิ่ม remote ใหม่ที่คุณต้องการเชื่อมต่อกับ repository อื่น

1.1 ตัวอย่างการเพิ่ม Remote ใหม่​

# เพิ่ม remote ใหม่ชื่อว่า 'upstream'
git remote add upstream https://github.com/username/repository.git

ในตัวอย่างนี้ เราได้เพิ่ม remote ที่ชื่อว่า upstream ซึ่งชี้ไปที่ URL ของ repository อื่น ๆ

2. การตรวจสอบ Remotes​

เพื่อดูว่า repository ของคุณเชื่อมต่อกับ remotes ใดบ้าง คุณสามารถใช้คำสั่ง git remote -v เพื่อแสดงรายการ remotes ที่เชื่อมต่อกับ repository ของคุณ

2.1 ตัวอย่างคำสั่ง​

git remote -v

ผลลัพธ์จะเป็นลักษณะดังนี้:

origin  https://github.com/username/repository.git (fetch)
origin https://github.com/username/repository.git (push)
upstream https://github.com/otheruser/repository.git (fetch)
upstream https://github.com/otheruser/repository.git (push)

จากผลลัพธ์ เราจะเห็นว่า repository ของเรามีการเชื่อมต่อกับสอง remotes คือ origin และ upstream

3. การดึงข้อมูลจาก Remote อื่น​

เมื่อคุณต้องการดึงข้อมูลจาก remote อื่น ๆ ที่ไม่ได้เชื่อมต่อกับ origin คุณสามารถใช้คำสั่ง git fetch ตามด้วยชื่อของ remote นั้น

3.1 ตัวอย่างคำสั่ง​

git fetch upstream

คำสั่งนี้จะดึงข้อมูลจาก remote ที่ชื่อว่า upstream มายังเครื่องของคุณ

4. การผลักดันข้อมูลไปยัง Remote อื่น​

ถ้าคุณต้องการผลักดันข้อมูลไปยัง remote อื่น ๆ ที่ไม่ใช่ origin คุณสามารถใช้คำสั่ง git push ตามด้วยชื่อ remote และ branch ที่ต้องการผลักดัน

4.1 ตัวอย่างคำสั่ง​

git push upstream master

คำสั่งนี้จะผลักดันข้อมูลจาก branch master ไปยัง remote ที่ชื่อว่า upstream

5. การลบ Remote​

หากคุณไม่ต้องการใช้ remote ใด ๆ อีกต่อไป คุณสามารถใช้คำสั่ง git remote remove เพื่อลบ remote นั้นออกจากการเชื่อมต่อ

5.1 ตัวอย่างคำสั่ง​

git remote remove upstream

คำสั่งนี้จะลบ remote ที่ชื่อว่า upstream ออกจากการเชื่อมต่อของ repository

6. การเปลี่ยน URL ของ Remote​

หากคุณต้องการเปลี่ยน URL ของ remote (เช่น หาก URL ของ repository เปลี่ยนแปลง) คุณสามารถใช้คำสั่ง git remote set-url

6.1 ตัวอย่างคำสั่ง​

git remote set-url upstream https://github.com/newuser/repository.git

คำสั่งนี้จะเปลี่ยน URL ของ remote upstream ให้ชี้ไปที่ URL ใหม่

7. การทำงานร่วมกับ Forks​

หากคุณทำงานกับ fork ของ repository หลัก คุณสามารถตั้งค่า origin เป็น fork ของคุณและ upstream เป็น repository หลัก เพื่อให้คุณสามารถดึงการเปลี่ยนแปลงจาก repository หลักได้ง่ายขึ้น

7.1 ขั้นตอนการทำงานกับ Forks​

  1. เพิ่ม remote สำหรับ repository หลัก (upstream):

    git remote add upstream https://github.com/username/repository.git
  2. ดึงการเปลี่ยนแปลงจาก repository หลัก:

    git fetch upstream
  3. รวมการเปลี่ยนแปลงจาก upstream ไปยัง master:

    git checkout master
    git merge upstream/master
  4. ผลักดันการเปลี่ยนแปลงไปยัง fork ของคุณ (origin):

    git push origin master

สรุป​

การจัดการหลาย remotes ช่วยให้คุณสามารถทำงานร่วมกับหลาย ๆ repository ในเวลาเดียวกัน ซึ่งช่วยเพิ่มความยืดหยุ่นในการทำงานและทำให้การผลักดันหรือดึงข้อมูลจากหลายแหล่งเป็นไปได้อย่างสะดวก โดย Git มีเครื่องมือที่ช่วยในการเพิ่ม, ลบ, และเปลี่ยนแปลง remotes รวมทั้งการดึงข้อมูลและผลักดันข้อมูลไปยังหลาย ๆ remotes ได้อย่างง่ายดาย