ป้ายกำกับ: Cherry-pick

GIT: Cherry-pick: เก็บเฉพาะลูกGIT: Cherry-pick: เก็บเฉพาะลูก

Cherry-pick ในโลกของการเขียนโปรแกรม ( โดยเฉพาะการใช้ Git ) คือการเลือกเฉพาะ “บาง Commit” จาก Branch หนึ่ง มาใส่ไว้ใน Branch ที่เรากำลังทำงานอยู่ โดยที่ไม่ต้องเอามาทั้งหมดทั้ง Branch ครับ

เปรียบเทียบง่าย ๆ เหมือนคุณเห็นเพื่อนกินข้าวกล่องที่มีกับข้าวหลายอย่าง แล้วคุณชอบแค่ “เฌอรี่” ( Cherry ) อย่างเดียว คุณก็แค่หยิบเฉพาะเฌอรี่ชิ้นนั้นมาวางในจานตัวเอง ไม่ได้ยกมาทั้งกล่อง


ทำไมถึงต้องใช้ Cherry-pick ?

  • แก้ Bug ด่วน ( Hotfix ): สมมติคุณกำลังพัฒนาฟีเจอร์ใหม่ใน develop branch แต่ดันเจอ Bug ร้ายแรงใน main branch ( ตัวที่ใช้งานจริง ) แล้วคุณแก้ Bug นั้นเสร็จใน develop ไปแล้ว คุณสามารถ Cherry-pick เฉพาะ Commit ที่แก้ Bug นั้นไปใส่ใน main ได้ทันที
  • ดึงงานบางส่วน: เพื่อนร่วมทีมเขียน Code เจ๋ง ๆ ไว้ใน Branch ของเขา แต่เขายังทำฟีเจอร์อื่นไม่เสร็จ คุณไม่อยากรอให้เขาทำจบ ก็แค่ไปเลือกเฉพาะ Commit ที่คุณต้องการมาใช้ก่อน
  • กู้คืนงาน: หากเผลอทำบางอย่างหายไปใน Commit เก่า ๆ หรือลบ Branch ทิ้งไปแล้ว ( แต่จำรหัส Commit ได้ ) ก็สามารถดึงกลับมาได้

วิธีการใช้งาน ( Git Command )

หากคุณทราบ ID ของ Commit (เ ช่น abc1234 ) ที่ต้องการ ให้ใช้คำสั่ง
git cherry-pick { commit-hash }


อ่านเพิ่มเติม