ในการพัฒนา 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 ไฟล์ !!
- ซึ่งแบบนี้ไม่ควรทำนะครับ
- การ comment code ไว้ เอาขึ้นทำไม ?
- Configuration ของ IDE แน่นอนว่า ตัวเราเองอาจจะรอด แต่คนอื่น ๆ ในทีมไม่รอด เนื่องจากแต่ละเครื่องมี environment ที่ต่างกัน
- สิ่งที่เกิดจากกระบวนการ build
- พวก library ต่าง ๆ
- ไฟล์ขนาดใหญ่ ๆ
โดยรวมแแล้วนั้น Version Control มันดีและมีประโยชน์มาก ๆ ยิ่งถ้าใช้งานอย่างถูกวิธีแล้ว ก็จะทำให้เกิดประโยชน์มากขึ้นไปอีก แต่ถ้าใช้แบบผิดวิธีมันก็เกิดโทษได้เช่นกัน