Fetch Pull คืออะไรบน Git นะ มาทำความรู้จักกัน

Fetch Pull คืออะไร

Fetch Pull เป็นคำที่คุ้นหูมากๆสำหรับ ชาว Developer ที่มักจะได้ยิน เมื่อพูดถึง Git อยู่เสมอๆ เรียกได้ว่า เป็นคำสามัญประจำ Git เลยก็ว่าได้ แล้วเจ้า 2 คำนี้มันคืออะไรกันแน่นะ เรามาลอง ทำความรู้จักกันดีกว่าครับ

ตอนเย็นๆ แบบนี้ ก่อนกลับบ้าน อย่าลืม commit code กันด้วยนะครับ วันนี้ผมหยิบเรื่องเล็กๆ น้อยๆ ที่อาจจะมีบางคนสงสัยเกี่ยวกับ Git ว่า เอ…ทำไมก่อน pull เราต้อง fetch ด้วยละ ก็ในเมื่อ มันก็ได้ code ลงมาเหมือนกัน แล้วนี่น่า

Fetch Pull คืออะไร

เริ่มจากคุยกันสั้นๆก่อน ว่าเจ้า ทั้งสองคำนี้ มันคืออะไร โดยที่เมื่อเราทำการ Commit ตัวงาน Code ของเราเสร็จสรรพเรียบร้อยแล้ว เราก็อยากจะนำผลงาน สุดคลาสิคของเรา ไปรวมกับเพื่อนๆในกลุ่ม จริงๆไหมครับ

ทีนี้ก่อนที่เราจะส่งงานของเรา ขึ้นไปรวมกับเพื่อนๆบน Remote ได้มันจะต้องมีขั้นตอนนึงเกิดขึ้นเสมอ นั้นก็คือ การทำการตรวจสอบ ว่าด้านบน remote มีใคร update งานขึ้นมาก่อนเรารึเปล่า

ซึ่งถ้าหากมี ก็ไม่ใช่เรื่องใหญ่อะไร แค่ให้เราเอามันมารวมกับงานของเราก่อนที่ local แล้วค่อย โยนขึ้นไปบน remote อีกทีแค่นั้นเอง

ทีนี้เจ้า code ที่อยู่บนนั้น เราสามารถตรวจสอบได้ด้วยวิธีการทำ git fetch นั้นเอง มันจะทำการไปอ่านค่าข้างบน ว่ามี commit อะไรเกิดขึ้นมาหลังจาก commit ของเราที่ตรงกับด้านบนบ้าง

ซึ่งถ้าหากว่ามันพบ มันก็แค่จะทำการแจ้งเตือน และ download ลงมาเท่านั้นเอง โดยไม่ได้เอาข้อมูลทั้งหมดนั้น มา Update ทับลงไปบนงานของเรา แต่เราจะรู้ว่า ใครทำอะไร ที่ไฟล์ไหน มี commit message ว่าอะไร เพื่อเก็บเป็น version เอาไว้ ตรวจสอบได้ ปลอดภัยกว่า

ซึ่งถ้าเรา OK เรายินดีรับ Code ชุดนั้นมารวมกับงานของเรา ก็แค่ทำการ merge code ล่าสุดของ local ที่เราเพิ่งไปดึงมาจาก remote เพื่อนำมันมา ผสมแบบ auto กับงานของเราจนเข้าคู่กันอย่างลงตัวนั้นเอง เพราะถ้าไม่ลงตัว มันจะฟ้อง conflict นั้นเอง 5555

ทีนี้บางคนก็บอกว่า เฮ้ย มันช้า มันซับซ้อน ซ่อนเงื่อนเพื่อนทรยศ ยังไงก็ไม่รู้ แทนที่จะเสร็จงานเร็ว ทำไม่ต้องทำ 2 คำสั่งละ ก็เลยทำการ pull ลงมาทีเดียวเลย เอาแบบว่า ถ้ามีอะไรเกิดขึ้นก็ค่อยมาลุ้นกันเพราะยังไงแค่ fetch ก็ไม่อ่านอยู่แล้ว 555

แบบนี้ก็เข้าท่า เสร็จไว จบเร็ว ปิดคอมกลับบ้านได้ แค่การ ดึงลงมามันจะเป็นการ merge กันเองโดยทันที แบบนี้ โดยที่เราไม่ต้องเสียเวลามานั่งดูเลยว่า ใครแก้อะไรไป แต่สิ่งที่จะตามมาก็คือ โอกาสของการเกิด conflict นั้นเอง

ดังนั้นจะใช้อะไร ก็แค่…รู้จักมันก่อนใช้ก็พอ

Git Document

คุณอาจสนใจเรื่องนี้
Link: GitHub เปิดให้ใช้งานสำหรับ teams free

ธีรภัทร เกษสกุล เป็นคุณพ่อของน้องเกี้ยมอี๋ ที่ไม่รู้ว่าใครซนกว่ากัน ทำงานเป็นโปรแกรมเม่ามือหนึ่ง ประจำบ้าน ถนัดงาน Web Application ชอบงานขีดเขียนเป็นชีวิตจิตใจ ดูหนัง เล่นเกมส์กับลูกชาย เปิดร้านขายหมูสะเต๊ะ อาม่า บน Lineman, Grab food และ Food panda เป็นรายได้เสริมหาเลี้ยงเจ้าแสบ

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top