Version Controlคือ เครื่องมือที่ช่วยติดตามการเปลี่ยนแปลงของซอร์สโค๊ด ซึ่งคล้ายกับการแนวคิดการทำ Undo/Redo ใน Microsoft word ที่ช่วยเรียกคืนเวอร์ชันของเอกสารได้
- ก่อนจะมีระบบ Version Control นั้น นักพัฒนาซอฟต์แวร์ต้องแยกเวอร์ชันด้วยการ Copy File และ Folder แต่เพื่อหลีกเลี่ยงความสิ้นเปลืองพื้นที่จัดเก็บซอร์สโค๊ดของระบบปฏิบัติการ Linux ในยุคแรกๆ จึงมีการเก็บเวอร์ชันเป็นแบบ Patch
-เพื่อหลีกเลี่ยงการทำ Patch บาง Patch หายจนทำให้ไม่สามารถประกอบร่างซอร์สโค๊ดกลับไปยังเวอร์ชันต่าง ๆ ได้ จึงมีการพัฒนา Version Control System แบบ Local Version Control System ขึ้นมาแทน
-เพื่อแก้ปัญหาการใช้งานหลายคน จึงมีการออกแบบ Centralized Version Control System ที่เก็บฐานข้อมูลไว้บนเซิร์ฟเวอร์ และมีระบบรวมเนื้อหาจากผู้ใช้หลายคนเข้าด้วยกัน
-Distributed Version Control System จะแก้ปัญหาการทำงานแบบรวมศูนย์ของ Centralized Version Control System โดยการโคลนฐานข้อมูลมาที่ Local Host ทั้งหมด ทำให้สามารถ Check-in และ Check-out บน Local Host แบบ Offline ก่อนจะ Push ขึ้นเซิร์ฟเวอร์ในภายหลัง
-Linus Torvalds พัฒนา Distributed Version Control System ขึ้นมาเองสำหรับเก็บซอร์สโค๊ดของระบบปฏิบัติการ Linux ที่ชื่อว่า "Git" และเปิดให้ใช้งานแบบ Open Source และ Free Software
แหล่งที่มา หนังสือ DEVOPS and Cloud Engineering โดย อ.ดร.ณัฐโชติ พรหมฤทธิ์