ผมเขียนบทความนี้ขึ้นมา เพื่อให้ท่านๆได้ตระหนักถึงความสำคัญของการจัดการซอร์สโค้ดด้วย SVN
ว่ากันตามความเป็นจริงแล้ว เวลาที่เราทำงานในโปรเจ็กหนึ่งๆ หลายๆคน มีบ้างแหละที่เราต้องการจะแก้ไฟล์เดียวกันในเวลาเดียวกัน ถ้าเราไม่ได้ใช้ SVN เข้ามาช่วย เราก็ต้องคอยตะโกนข้ามโต๊ะ หรือคอยแจ้งบอกกันว่า ผมกำลังแก้ไฟล์ตัวนี้อยู่นะ ใครจะแก้ให้นั่งแกะเมล็ดแตงโมรอไปก่อน หรือไม่ก็ไปทำอย่างอื่น ไปขี้ ไปตด รอไปพลางๆ เสร็จแล้วจะบอก มานึกได้ว่าจะต้องบอกพวก เชี่ย…. ลืมไปครึ่งวัน
หรือบางทีที่เราอยากจะรู้ว่าไอ้เพื่อนโต๊ะข้างๆแก้อะไรไปบ้าง ก็ต้องไปนั่งหัวชนกัน ไล่ดูโค้ด หรือบางทีอ่านๆโค้ดไป อยากจะรู้ว่าบรรทัดนี้ใครเป็นคนแก้ จะได้ถามถูกเจ้าตัว ก็ต้องไล่ถามกันทีละหน่อ วุ่นวาย ถ้าจะให้ดี ไอ้บางหน่อ แฟนไม่ให้เอามาแล้ว 3 วัน กำลังงุ่นง่านพอดี ยิ่งไปกันใหญ่ หรือไม่บางทีแก้ไปๆ มาพิเคราะห์อีกทีว่ากำลังคิดวิธีผิด อยากรีโสตร์โค้ด ทะลึ่งลืมแบ้กอัพ หรือถ้าแบ็กอัพไว้ มันก็เพียงแค่นิดๆหน่อยๆ จะย้อนโค้ดให้ไปถึงเมื่อหลายวันก่อน ก็ทำไม่ได้
การพัฒนาโปรแกรมสักตัว ถ้าไม่เอาโปรแกรม SVN เข้าไปช่วยควบคุม เรื่องมันเยอะ ถึงจะไม่ได้พัฒนาร่วมกันหลายๆคนก็เถอะ ก็เห็นควรจะใช้เหมือนกัน อย่างน้อยๆ เวลาสัมภาษณ์งานบริษัทพัฒนาซอฟต์แวร์ ถ้าเขาถามว่า “คุณเถิก คุณเคยใช้ SVN มั้ย” จะได้บอกได้ว่า “ผมไม่ได้ชื่อเถิก นั่นชื่อพ่อผม และผมใช้ SVN เป็น”
SVN ถูกแยกองค์ประกอบออกเป็น 2 ส่วน คือ
SVN Server ทำตัวเป็นเซิฟเวอร์หรือศูนย์กลาง คอยดูแลซอร์สโค้ดที่ถูกส่งมาจาก SVN Client มันจะคอยผสานโค้ด จากโปรแกรมเมอร์แต่ละคนเข้าด้วยกัน ที่แก้ไฟล์เดียวกันพร้อมกัน คอยเก็บซอร์สโค้ดเพื่อการรีสโตร์ และอีกเพียบครับที่มันต้องทำ สาธยายไม่หมด ต้องลองเอง
SVN Client ทำตัวเป็นไคลเอ้นท์ส่งซอร์สโค้ดที่พัฒนาและทดสอบจนพอใจแล้ว จากโปรแกรมเมอร์ ขึ้นไปเก็บไว้ที่ SVN Server หรืออัปเดตโค้ดจาก SVN Server และอีกเพียบที่มันทำได้ สาธยายไม่หมด ต้องลองเอง อีกนั่นแหละ
ถ้าเราร่วมกันพัฒนาโปรแกรมหลายๆคน เราติดตั้ง SVN Server ไว้ที่เครื่องใดเครื่องหนึ่งในวงแลน ให้มันเป็นศูนย์กลางเก็บซอร์สโค้ด แล้วติดตั้ง SVN Client ไว้ที่เครื่องของโปรแกรมเมอร์แต่ละคน
ถ้าเราพัฒนาอยู่คนเดียว แต่อยากจะใช้ SVN เราก็ติดตั้งมันทั้ง SVN Server และ SVN Client ไว้ในเครื่องเราทั้งสองตัว เป็นทั้งเซิฟเวอร์และไคลเอ้นท์ในตัวเดียวกัน
สำหรับวินโดว
SVN Server ที่นิยมคือ Visual SVN สามารถดาวน์โหลดได้ที่นี่ http://www.visualsvn.com/visualsvn
SVN Client ที่นิยมคือ Tortoise SVN สามารถดาวน์โหลดได้ที่นี่ http://tortoisesvn.net/downloads.html/download/
คราวนี้ไว้เท่านี้ก่อน ไว้คราวหน้าจะมาพูดเรื่อง SVN เพิ่มเติม หากท่านรอผมไม่ไหวก็ลองหาอ่านในกูเกิลพลางๆ
สวัสดี
Rosesarin Jommool says:
05/11/2554 at 05/11/2554
ว่างเมื่อไหร่สอนกันหน่อยเด้อ ^o^ ท่านกูรู
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย says:
06/11/2554 at 06/11/2554
น้องรินว่างเมื่อไร ก็ถามมาเด้อคร่า
Ohm says:
08/11/2554 at 08/11/2554
บทความแหล่มมาก
autthapone says:
22/08/2555 at 22/08/2555
เอนทรี้นี้แหละที่ตามหา
patamania says:
17/10/2555 at 17/10/2555
ขอบคุณมากค่ะ กำลัง งง อยู่พอดี แต่รู้สึกว่า link sv กับ client สลับกันนะคะ ;)
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย says:
17/10/2555 at 17/10/2555
เปลี่ยนลิ้งก์ให้แล้วครับผม ขอบคุณมากนะครับ patarmania