โดยส่วนตัวแล้ว ผมมองว่าเรื่อง Version Control System
เป็นสิ่งสำคัญที่ควรรู้อันดับต้น ๆ ของงานสาย
Programmer หรือ Developer เลยละ
จึงขอยกมาเขียนเป็นบทความแรก
หลายคนที่หลงเข้ามา อาจจะเคยประสบปัญหา
ในสมัยยังเรียน และผมเพิ่งจบออกมาทำงานใหม่ ๆ
ผมเคยประสบปัญหา อยากเอางานก่อนหน้านี้กลับมา
ลบไปแล้วบ้าง อะไรบ้าง หรือเอาของเมื่อวานกลับมาดู
ไม่ว่าจะด้วยเหตุผลอะไรก็ตาม
ผมเลยใช้วิธีการ Backup งานไว้เป็น Savepoint ไว้เสมอ
ซึ่งแรก ๆ มันก็โอเคอยู่
แต่พอโปรเจคมันใหญ่ ไฟล์รูปมันเริ่มเยอะ
Copy ทีนึงก็ใช้เวลานาน แถมยังกินพื้นที่ Harddisk อีกต่างหาก
ปัญหาต่อมาคือไม่รู้แต่ล่ะ version ที่ทำไปมีรายละเอียดอะไรบ้าง เลยต้องทำไฟล์ Version กำกับ
ที่ยกมานี้แค่ทำคนเดียวนะครับ
เพราะคนอื่นส่ง Asset พวก Sprite, Texture, 3D มารวมที่ผมหมด
ผ่าน Thumbdrive นั้นแหละ
แล้วถ้าทำงานกับคนอื่นล่ะ
ที่มันต้องรวมงานกันไป รวมงานกันมา
อันนี้ขอไม่เล่า เพราะมันจะยาว และเฉพาะทางเกินไป
เขาก็เลยมี Version Control System ออกมาแก้ปัญหาที่กล่าวมาข้างต้นได้ทั้งหมด
ผมอาจจะเล่าปัญหาต่าง ๆ ไม่ครบนะครับ
อันนี้แค่ประสบการณ์ส่วนตัวอย่างเดียว
Version Control เนีย มันมีอะไรที่แจ่ม ๆ น่าสนใจบ้าง
ผมก็เลยตัดสินใจเลือกใช้เจ้า Git ที่ว่านั้นแหละ
Git ข้าเลือกเจ้า
ซึ่งผมก็เลือกไม่ผิด เพราะปัจจุบันเป็น Number One
อันอื่นมันก็มีข้อดีนะ แต่ผมไม่เคยใช้
ที่มันได้รับความนิยมขนาดนี้ เพราะว่าน่าจะมาจากเหตุผลที่ว่า
โครงการ Open source นั้นใช้ GitHub เสียเป็นส่วนใหญ่
ชื่อมันก็บอกอยู่แล้วเนอะว่า Git เพราะฉะนั้นมันก็ต้องใช้ Git แน่นอนอยู่แล้ว
โครงการ Open source นั้นคืออะไร ผมขอยกหน้าที่นี้ให้กับ Google
เพราะประเด็นหลักเราคือ Version Control System (VCS)
สรุปแล้วมันสามารถแก้ปัญหาที่ผมเจอมาตลอด
ตั้งแต่มัธยม มหาวิทยาลัย จนถึงตอนทำงาน
ไม่ว่าจะเป็นเรื่อง ไฟล์หาย, ไฟล์เสีย, การตั้งชื่อไฟล์, การย้อน Version, การรวมงานกับคนอื่น
เจ้า Git เนีย มันตอบโจทย์ทุกอย่างจริง ๆ
เพราะฉะนั้น ใครที่เป็น Programmer หรือ Developer
แล้วยังไม่ได้ใช้ Version Control System หรือ VCS เนีย
ก็ไปหัดใช้ซะเหอะ ชีวิตจะได้สบายขึ้น
มีทั้งแบบ Command-line และ GUI ให้เลือกใช้ได้ตามสบายใจ
แบบ Command line
Credit: http://jr0cket.co.uk/2013/01/git-log-makes-multiple-repos-easier-to.html.html
แบบ GUI
Credit: http://blog.sourcetreeapp.com/files/2013/02/st_win8_beta.png
และก็ไม่จำเป็นต้องเป็น Programmer หรือ Developer อย่างเดียวที่ใช้ได้นะ
ใช้กับงานอื่น ๆ ก็ได้ที่ต้องการทำเรื่อง Version แบบนี้ หรือจะเอาไว้เป็น Backup ก็ได้นะ
บทความนี้เป็นบทความแรกที่เขียนเกี่ยวกับสายงานของผม
ก่อนหน้านี้เคยเขียนบทความเกี่ยวกับเกมมาก่อนบ้างเล็กน้อยเพียงเท่านั้น
อาจจะตกหล่น เขียนเนื้อสำคัญไม่ครบ ก็ขออภัยด้วยครับ