ในการพัฒนา software นั้นสิ่งที่ขาดไปไม่ได้เลยก็คือ Version Control
ใช้สำหรับจัดการการเปลี่ยนแปลงต่าง ๆ
ทั้งการสร้าง การแก้ไข การลบ การ merge
ตัวอย่างเช่น source code และ configuration
แต่การใช้งาน Version Control ก็แตกต่างกันไป
บางคนใช้เพื่อ backup code
บางคนไม่เคย update ข้อมูลใน Version Control เลย
บางคนนำ source code ของตัวเองไปทับคนอื่นเฉยเลย
บางคนสร้าง branch เยอะมาก ๆ จนไม่รู้ว่า branch ไหนล่าสุด
บางคนบอกว่าเลิกใช้มันแล้ว เพราะว่าเกิด conflict มากมาย
บางคนบอกว่าใช้ไปทำไม ขอ thumbdrive มาแล้ว copy ไปสิเร็วกว่า
ดังนั้นจึงขอแนะนำว่าการใช้ Version Control นิดหน่อยดังนี้
ให้ทำการ update ข้อมูลต่าง ๆ ผ่านระบบให้บ่อยที่สุด
หรือทุกครั้งที่เปลี่ยนแปลงเรียบร้อยแล้ว
เพื่อทำให้ข้อมูลตรงกัน
เพื่อลด conflict ของข้อมูลลงไป
เพื่อลดความผิดพลาด
อย่าดอง code หรือการเปลี่ยนแปลงไว้บนเครื่องตัวเองนาน ๆ นะ !!
ถ้ามีการสร้าง branch ต่าง ๆ ขึ้นมา
เช่นมี branch hot fix สำหรับแก้ไข bug
ดังนั้นมีการแก้ไขใน branch hotfix แล้ว
กรุณาทำการ merge code ไปยัง branch ต่าง ๆ ด้วยนะครับ
มิเช่นนั้นในรอบการ deploy ต่อ ๆ ไป
bug ที่เคยแก้ไขไปแล้วอาจจะกลับมาอีกครั้ง
ดังนั้นจำนวน branch เยอะไม่น่ากลัวเท่าแก้ไขแล้วไป update ในทุก branch ที่เกี่ยวข้อง
การ checkin/commit/push หรือการบันทึกการเปลี่ยนแปลงใน Version Control นั้น
มันคือการพูดคุยของคนในทีมนั่นเอง
ดังนั้นสิ่งที่ควรทำคือค่อย ๆ พูดทีละเรื่อง
นั่นคือในแต่ละการเปลี่ยนแปลงควรมีขนาดเล็ก ชัดเจน
รวมทั้งคำอธิบายต้องตรงกับสิ่งที่เปลี่ยนแปลงด้วย
เนื่องจาก developer ชอบทำแบบนี้
- การเปลี่ยนแปลงชื่อว่า fixed bug
- ส่วนการเปลี่ยนแปลงมีไม่ต่ำกว่า 10 ไฟล์ !!
- ซึ่งแบบนี้ไม่ควรทำนะครับ
สิ่งใดที่ไม่จำเป็นก็ไม่ต้องเอาขึ้น Version Control นะ
บางคนอาจจะไม่รู้ แต่ว่าต้องเรียนรู้ เช่น
- การ comment code ไว้ เอาขึ้นทำไม ?
- Configuration ของ IDE แน่นอนว่า ตัวเราเองอาจจะรอด แต่คนอื่น ๆ ในทีมไม่รอด เนื่องจากแต่ละเครื่องมี environment ที่ต่างกัน
- สิ่งที่เกิดจากกระบวนการ build
- พวก library ต่าง ๆ
- ไฟล์ขนาดใหญ่ ๆ
ให้จำไว้ว่า Version Control นั้นทำการเก็บประวัติต่าง ๆ ไว้นะครับ
ดังนั้นรู้หมดว่า ใครทำอะไรลงไปบ้าง
โดยรวมแแล้วนั้น Version Control มันดีและมีประโยชน์มาก ๆ
ยิ่งถ้าใช้งานอย่างถูกวิธีแล้ว ก็จะทำให้เกิดประโยชน์มากขึ้นไปอีก
แต่ถ้าใช้แบบผิดวิธีมันก็เกิดโทษได้เช่นกัน