Cherry-pick ในโลกของการเขียนโปรแกรม ( โดยเฉพาะการใช้ Git ) คือการเลือกเฉพาะ “บาง Commit” จาก Branch หนึ่ง มาใส่ไว้ใน Branch ที่เรากำลังทำงานอยู่ โดยที่ไม่ต้องเอามาทั้งหมดทั้ง Branch ครับ
เปรียบเทียบง่าย ๆ เหมือนคุณเห็นเพื่อนกินข้าวกล่องที่มีกับข้าวหลายอย่าง แล้วคุณชอบแค่ “เฌอรี่” ( Cherry ) อย่างเดียว คุณก็แค่หยิบเฉพาะเฌอรี่ชิ้นนั้นมาวางในจานตัวเอง ไม่ได้ยกมาทั้งกล่อง
ทำไมถึงต้องใช้ Cherry-pick ?
- แก้ Bug ด่วน ( Hotfix ): สมมติคุณกำลังพัฒนาฟีเจอร์ใหม่ใน
developbranch แต่ดันเจอ Bug ร้ายแรงในmainbranch ( ตัวที่ใช้งานจริง ) แล้วคุณแก้ Bug นั้นเสร็จในdevelopไปแล้ว คุณสามารถ Cherry-pick เฉพาะ Commit ที่แก้ Bug นั้นไปใส่ในmainได้ทันที - ดึงงานบางส่วน: เพื่อนร่วมทีมเขียน Code เจ๋ง ๆ ไว้ใน Branch ของเขา แต่เขายังทำฟีเจอร์อื่นไม่เสร็จ คุณไม่อยากรอให้เขาทำจบ ก็แค่ไปเลือกเฉพาะ Commit ที่คุณต้องการมาใช้ก่อน
- กู้คืนงาน: หากเผลอทำบางอย่างหายไปใน Commit เก่า ๆ หรือลบ Branch ทิ้งไปแล้ว ( แต่จำรหัส Commit ได้ ) ก็สามารถดึงกลับมาได้
วิธีการใช้งาน ( Git Command )
หากคุณทราบ ID ของ Commit (เ ช่น abc1234 ) ที่ต้องการ ให้ใช้คำสั่งgit cherry-pick { commit-hash }
อ่านเพิ่มเติม