คําขอดึงข้อมูลคืออะไร

เสร็จสมบูรณ์เมื่อ

เราเริ่มต้นโดย:

  • การตรวจสอบสาขาและความสําคัญของพวกเขาในการดึงคําขอ
  • กําหนดว่าคําขอดึงข้อมูลคืออะไร
  • เรียนรู้วิธีการสร้างคําขอดึงข้อมูล ตรวจสอบสถานะคําขอดึงข้อมูล และผสานคําขอดึงข้อมูล

สาขา

ก่อนอื่น มากําหนดว่าสาขาใด เป็นอะไร ทําไมสาขาเหล่านี้มีความสําคัญกับนักพัฒนาและวิธีการเกี่ยวข้องกับคําขอดึงข้อมูลอย่างไร

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

นักพัฒนาที่ทํางานบนสาขาอิสระเป็นแนวคิดทั่วไปในการพัฒนาซอฟต์แวร์ที่ทันสมัย ด้วยการมีสาขาของตนเองนักพัฒนาสามารถทําการเปลี่ยนแปลงใด ๆ ที่เรียกว่า ยอมรับโดยไม่ต้องกังวลเกี่ยวกับความมุ่งมั่นของพวกเขาส่งผลกระทบต่อนักพัฒนารายอื่นที่ทํางานในสาขาของตนเอง

สาขาการผสาน

แม้ว่านักพัฒนาแต่ละคนทํางานบนสาขาที่แยกต่างหากนั้นยอดเยี่ยมสําหรับผลผลิตของแต่ละบุคคล แต่ก็เปิดความท้าทายใหม่ ในบางจุด สาขาของนักพัฒนาแต่ละรายจะต้อง ผสาน ลงในสาขาทั่วไป เช่น main เนื่องจากมาตราส่วนโครงการ อาจมีการผสานจํานวนมากที่จําเป็นเกิดขึ้น และกลายเป็นสิ่งสําคัญมากขึ้นในการติดตามและตรวจสอบการผสานแต่ละครั้ง จําเป็นต้องติดตามการเปลี่ยนแปลงหลายอย่างในโครงการคือที่ที่คําขอดึงข้อมูลเข้ามา

คําขอดึงข้อมูลคืออะไร

คําขอดึงข้อมูลคือวิธีการบันทึกการเปลี่ยนแปลงสาขาและสื่อสารว่าการเปลี่ยนแปลงจากสาขาของนักพัฒนาพร้อมที่จะ รวม ลงในสาขาฐาน (หลัก) คําขอดึงข้อมูลช่วยให้ผู้มีส่วนได้เสียสามารถตรวจทานและพูดคุยเกี่ยวกับการเปลี่ยนแปลงที่เสนอเพื่อให้แน่ใจว่าคุณภาพของรหัสในสาขาพื้นฐานจะถูกเก็บไว้สูงสุดเท่าที่เป็นไปได้

คําขอดึงข้อมูลเปรียบเทียบการเปลี่ยนแปลงระหว่างสองสาขา:

  • สาขา เปรียบเทียบ คือสาขาของนักพัฒนาเอง ซึ่งประกอบด้วยการเปลี่ยนแปลงเฉพาะที่พวกเขาทํา
  • สาขา ฐาน หรือที่เรียกว่าสาขา หลัก คือสาขาที่การเปลี่ยนแปลงจําเป็นต้องรวมเข้าด้วยกัน

เมื่อเริ่มคําขอดึงข้อมูล GitHub จะแสดงมุมมองการเปรียบเทียบสาขาโดยอัตโนมัติ

สร้างคําขอดึงข้อมูล

ตอนนี้เรามาดูวิธีการสร้างคําขอดึงข้อมูลกัน!

  1. บน GitHub.comนําทางไปยังหน้าหลักของที่เก็บ

  2. ในเมนู สาขา ให้เลือกสาขาที่มียอมรับของคุณ

    สกรีนช็อตของการสร้างสาขาใหม่และตั้งชื่อ

  3. ด้านบนรายการไฟล์ ในแบนเนอร์สีเหลือง ให้เลือก เปรียบเทียบคําขอดึงข้อมูล & ปุ่มเพื่อสร้างคําขอดึงข้อมูลสําหรับสาขาที่เกี่ยวข้อง

    สกรีนช็อตของกล่องข้อความสีเหลือง โดยเน้นปุ่มเปรียบเทียบสีเขียวและคําขอดึงข้อมูล

  4. ใน สาขาพื้นฐาน เมนูดรอปดาวน์ เลือกสาขาที่คุณต้องการผสานการเปลี่ยนแปลงของคุณ จากนั้นเลือก เปรียบเทียบสาขา เมนูแบบเลื่อนลงเพื่อเลือกสาขาที่คุณทําการเปลี่ยนแปลง

  5. ป้อนชื่อเรื่องและคําอธิบายสําหรับคําขอดึงข้อมูลของคุณ

  6. หากต้องการสร้างคําขอดึงข้อมูลที่พร้อมสําหรับตรวจสอบ ให้เลือกปุ่ม สร้างคําขอดึงข้อมูล หากต้องการสร้างคําขอดึงข้อมูลแบบร่าง ให้เลือกรายการดรอปดาวน์แล้วเลือก สร้างคําขอดึงข้อมูลแบบร่างจากนั้นเลือก คําขอดึงข้อมูลแบบร่าง

สถานะคําขอดึงข้อมูล

ตอนนี้เรามาตรวจสอบสถานะต่างๆ ของคําขอดึงข้อมูลกันเถอะ

  • คําขอดึงข้อมูลแบบร่าง - เมื่อคุณสร้างคําขอดึงข้อมูล คุณสามารถเลือกที่จะสร้างคําขอดึงข้อมูลที่พร้อมสําหรับการตรวจทานหรือคําขอดึงข้อมูลแบบร่าง อย่างใดอย่างหนึ่ง คําขอดึงข้อมูลที่มีสถานะร่างไม่สามารถผสานได้ และเจ้าของโค้ดจะไม่ถูกร้องขอโดยอัตโนมัติเพื่อตรวจสอบคําขอดึงข้อมูลแบบร่าง

  • เปิดคําขอดึงข้อมูล - สถานะเปิดหมายความว่าคําขอดึงข้อมูลเปิดใช้งานอยู่และยังไม่ได้รวมเข้ากับสาขาพื้นฐาน คุณยังคงสามารถยอมรับและพูดคุยและตรวจสอบการเปลี่ยนแปลงที่อาจเกิดขึ้นกับผู้ทํางานร่วมกันได้

  • คําขอดึงข้อมูลที่ปิดแล้ว - คุณสามารถเลือกที่จะปิดคําขอดึงข้อมูลได้โดยไม่ต้องผสานเข้ากับสาขาพื้นฐาน/สาขาหลัก ตัวเลือกนี้มีประโยชน์หากไม่จําเป็นต้องมีการเปลี่ยนแปลงที่เสนอในสาขาอีกต่อไป หรือหากมีการเสนอวิธีแก้ปัญหาอื่นในสาขาอื่น

  • คําขอดึงข้อมูลที่ผสาน - สถานะคําขอดึงข้อมูลที่ผสานหมายความว่าการอัปเดตและยอมรับจากสาขาเปรียบเทียบถูกรวมกับสาขาฐาน ทุกคนที่มีการเข้าถึงแบบพุชไปยังที่เก็บสามารถทําการผสานให้เสร็จสมบูรณ์ได้

ผสานคําขอดึงข้อมูล

  1. ภายใต้ชื่อที่เก็บของคุณ ให้เลือก คําขอดึงข้อมูล

    สกรีนช็อตของแถบนําทางด้านบนของ repo ที่มีแท็บ คําขอดึงข้อมูล ที่เน้น

  2. ในรายการ คําขอดึงข้อมูล ให้เลือกคําขอดึงข้อมูลที่คุณต้องการผสาน

  3. เลื่อนลงไปที่ด้านล่างของคําขอดึงข้อมูล ขึ้นอยู่กับตัวเลือกการผสานที่เปิดใช้งานสําหรับที่เก็บของคุณ คุณสามารถ:

    • ผสานยอมรับทั้งหมดลงในสาขาพื้นฐานโดยการเลือกปุ่ม คําขอดึงข้อมูล ผสาน ถ้าตัวเลือก คําขอดึงข้อมูลของ ผสาน ปรากฏขึ้น ให้เลือกเมนูดรอปดาวน์ผสาน สร้างตัวเลือก ยอมรับการยอมรับ จากนั้นเลือกตัวเลือก สร้างการยอมรับการผสาน

      สกรีนช็อตของเมนูดรอปดาวน์ของปุ่มคําขอดึงข้อมูลสําหรับผสานสีเขียวที่มีการเลือกยอมรับการสร้างการผสาน

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

    • ตัวเลือก Rebase และผสาน ช่วยให้คุณสามารถทํายอมรับได้โดยไม่ต้องยอมรับการผสาน สิ่งนี้จะรักษาประวัติโครงการเชิงเส้น เลือกเมนูดรอปดาวน์ผสาน จากนั้นเลือกตัวเลือก Rebase และผสาน จากนั้นเลือกปุ่ม Rebase และผสาน

  4. ถ้าได้รับพร้อมท์ ใส่ข้อความที่ยอมรับ หรือยอมรับข้อความเริ่มต้น

  5. ถ้าคุณมีที่อยู่อีเมลมากกว่าหนึ่งที่เชื่อมโยงกับบัญชีของคุณบน GitHub.comให้เลือกเมนูดรอปดาวน์ที่อยู่อีเมลและเลือกที่อยู่อีเมลที่จะใช้เป็นที่อยู่อีเมลของผู้เขียน Git เฉพาะที่อยู่อีเมลที่ถูกตรวจสอบแล้วเท่านั้นที่จะปรากฏในเมนูดรอปดาวน์นี้ หากคุณเปิดใช้งานความเป็นส่วนตัวของที่อยู่อีเมล อีเมล GitHub ที่ไม่มีการตอบกลับจะถูกใช้เป็นที่อยู่อีเมลของผู้เขียนการยอมรับเริ่มต้น

    สกรีนช็อตของการเปลี่ยนแปลงยอมรับพร้อมกล่องคําอธิบาย และเมนูดรอปดาวน์ของอีเมลเพื่อเลือกเป็นผู้เขียนของการยอมรับ

  6. เลือก ยืนยันการผสานยืนยันการสควอชและผสานหรือ ยืนยันฐานข้อมูลใหม่และผสาน

  7. อีกทางหนึ่งคือ คุณสามารถลบสาขาเปรียบเทียบเพื่อเก็บรายการสาขาในที่เก็บข้อมูลของคุณ

ตัวเลือกคําขอดึงข้อมูลขั้นสูง

นอกเหนือจากการสร้างและรวมคําขอดึงข้อมูลแล้ว ยังมีตัวเลือกขั้นสูงสองสามตัวเลือกที่ช่วยให้ทีมรักษาโค้ดคุณภาพสูง

การขอผู้ตรวจสอบ

คุณสามารถขอให้ผู้ทํางานร่วมกันเฉพาะตรวจสอบคําขอดึงข้อมูลของคุณได้ เฉพาะผู้ร่วมงานที่มีสิทธิ์เขียนในที่เก็บเท่านั้นที่สามารถเลือกเป็นผู้ตรวจสอบได้ วิธีนี้จะช่วยให้แน่ใจว่าการเปลี่ยนแปลงของคุณได้รับการตรวจสอบโดยบุคคลที่เหมาะสมก่อนที่จะรวมเข้าด้วยกัน

  1. เมื่อสร้างหรือดูคําขอดึงข้อมูล ให้ค้นหาส่วนผู้ตรวจสอบในแถบด้านข้างด้านขวามือ
  2. ค้นหาและเลือกชื่อผู้ใช้ GitHub ของผู้ทํางานร่วมกันที่มีสิทธิ์เขียนในที่เก็บ
  3. ผู้ตรวจสอบที่เลือกจะได้รับการแจ้งเตือนเพื่อตรวจสอบคําขอดึงข้อมูลของคุณ

การตรวจสอบที่จําเป็นและกฎการคุ้มครองสาขา

ที่เก็บบางแห่งใช้กฎการป้องกันสาขาที่ต้องการคําขอดึงข้อมูลเพื่อให้เป็นไปตามเงื่อนไขบางประการก่อนที่จะสามารถรวมได้ ข้อกําหนดทั่วไป ได้แก่ :

  • อย่างน้อยหนึ่งบทวิจารณ์ที่อนุมัติจากผู้ร่วมงานรายอื่น
  • ผ่านการตรวจสอบสถานะที่จําเป็นทั้งหมด เช่น เวิร์กโฟลว์การผสานรวมอย่างต่อเนื่อง (CI)

หากคําขอดึงข้อมูลไม่ตรงตามข้อกําหนดเหล่านี้ ปุ่มผสานจะถูกปิดใช้งานจนกว่าจะเป็นไปตามเงื่อนไขทั้งหมด

คุณสามารถดูกฎที่จําเป็นสําหรับที่เก็บได้ที่ด้านล่างของหน้าคําขอดึงข้อมูล ภายใต้ส่วน ผสาน

กฎเหล่านี้มักจะถูกกําหนดค่าโดยผู้ดูแลระบบที่เก็บในการตั้งค่าการป้องกันสาขา

การตรวจสอบสถานะและการผสานรวมอย่างต่อเนื่อง (CI)

หากที่เก็บของคุณใช้ GitHub Actions หรือระบบ CI อื่น คําขอดึงข้อมูลอาจเรียกใช้การตรวจสอบสถานะโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลง ตัวอย่างเช่น:

  • การทดสอบหน่วยการรัน
  • การตรวจสอบการจัดรูปแบบโค้ด
  • การตรวจสอบการสแกนความปลอดภัย

คําขอดึงข้อมูลมักจะต้องผ่านการตรวจสอบสถานะที่จําเป็นทั้งหมดก่อนจึงจะสามารถรวมเข้ากับสาขาฐานได้ การตรวจสอบที่ล้มเหลวจะแสดงโดยตรงในหน้าคําขอดึงข้อมูล

การบันทึกที่เก็บด้วยดาว

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

ในการติดดาวที่เก็บ:

  1. ไปที่หน้าที่เก็บบน GitHub.com.
  2. ที่มุมบนขวา ให้เลือกปุ่ม ดาว

คุณสามารถดูที่เก็บทั้งหมดที่คุณติดดาวได้โดยเลือกรูปโปรไฟล์ จากนั้นเลือกดาวของคุณ

แป้นพิมพ์ลัด

GitHub มีแป้นพิมพ์ลัดมากมายเพื่อช่วยให้คุณทํางานได้เร็วขึ้น

วิธีดูทางลัดที่มีให้ทั้งหมด

  • กดที่ ? ใดก็ได้บน GitHub.com

คุณจะเห็นรายการทางลัดสําหรับการนําทางปัญหา คําขอดึงข้อมูล ที่เก็บ และอื่นๆ

การใช้ Command Palette

Command Palette บน GitHub ช่วยให้คุณข้ามไปยังหน้า เรียกใช้การดําเนินการทั่วไป หรือค้นหาที่เก็บได้อย่างรวดเร็วโดยไม่ต้องละมือจากแป้นพิมพ์

ในการเปิด Command Palette:

  • กด Ctrl+K (Windows/Linux) หรือ ⌘+K (Mac)

คุณสามารถเริ่มพิมพ์การดําเนินการต่างๆ เช่น "สร้างคําขอดึงข้อมูล" "ดูปัญหา" หรือ "สลับสาขา" เพื่อไปยังที่ที่คุณต้องการได้ทันที

นําสิ่งที่คุณได้เรียนรู้ไปใช้

ถัดไป คุณทําแบบฝึกหัดที่ใช้สิ่งที่คุณได้ตรวจทานและนําไปใช้กับตัวอย่างในชีวิตจริง