Subversion คืออะไร
Subversion คือ free/open source นะครับโดยชื่อเต็มๆ ของมันก็คือ Version Control System (VCS) ซึ่งตัวมันเองนั่นทำงานโดยการจัดการระบบแบ็คอัพของไฟล์โดยเราสามารถที่จะดู History ย้อนหลังได้โดยการจัดเก็บจะเก็บ Version ตัวโปรแกรมสามารถจะ Recovery ไฟล์ได้ในทุกๆ Version History พอมองภาพออกกันแล้วหรือยังครับว่าถ้าเราใช้งานเจ้่า Subversion Control นี้กับโค็ดของเรา เมื่อเราแบ็คอัพโค็ดของเราเราก็ไม่ต้องเก็บไฟล์ทั้งหมด เราแค่แบ็คอัพไฟล์ที่เราได้มีการเปลี่ยนแปลงเท่านั่นเองครับ แล้วเมื่อเวลาที่ไฟล์ของเรานั่นหายไป หรือเสียหายจากสาเหตุอะไรก็ตามเราก็สามารถใช้เจ้า Subversion นี้ Recovery ไฟล์องเรากลับมาได้โดยเราสามารถเลือกได้ด้วยว่าเราจะ Recovery ไฟล์ใน Version ไหนที่เราได้แบ็คอัพไปก็ได้ครับ เราสามารถแยกข้อดีของ Subversion ได้เป็นข้อๆดังนี้ครับ
- สามารถ Backup และ Restore ไฟล์ได้
- Synchronization ไฟล์ทำให้ไฟล์นั่นเป็นเวอร์ชั่นใหม่เสมอไม่ว่าจะมีผู้ใช้งานไฟล์นั่นกี่คนก็ตาม
- สามารถ Track back history ของแต่ละไฟล์ได้
- ใน History นั่นสามารถบอกรายละเอียดได้มากกว่าการจัดเก็บแบบธรรมคือสามารถบอกได้ว่าไฟล์นี้ใครเป็นเจ้าของ และใครบ้างที่แก้ไขไฟล์นี้
- ควบคุมจัดการได้ง่ายเมื่อต้องการควบคุมโค็ดที่พัฒนาโดยโปรแกรมเมอร์หลายคนในทีม
จากรูปผมขอยกตัวอย่างง่ายๆ นะครับเช่นในทีมของเรามี 3 คนที่ต้องทำงานกันอยู่ในโปรเจ็ดเดียวกัน แล้วทั้ง 3 คนนั่นก็ต้องแก้ไขไฟล์เดียวกันที่ชื่อว่า A.java ถ้าสมมุติว่าทั้ง 3 คนนั่นต้องการที่จะแก้ไขไฟล์ A.java ในเวลาเดียวกันเช่น คนแรกเซฟไฟล์ก่อน คนที่สองเซฟตาม คนที่สามตามไปติดๆ แน่นอนครับข้อมูลบางส่วนจะหายไปเพราะสุดท้ายแล้วไฟล์ที่จะเป็นก็คือไฟล์ของคนที่สาม เพราะว่าคนที่สามไม่ได้อัพเดทไฟล์ของคนที่หนึ่งแลพที่สองก่อน เห็นมั้ยครับว่าถ้าเราทำงานโค็ดเดียวกันหลายคนปัญหาแบบนี้เกิดขึ้นแน่นอน แต่ทว่าถ้าเราใช้ Subversion ตัว Subversion เองจะจัดการเรื่องพวกนี้ให้เราอัตโนมัติเลยครับ เพราะว่าถ้าใช้ Subversion แล้วไฟล์สุดท้ายก็จะเป็นไฟล์ที่ได้รับการแก้แล้วของทั้งสามคนครับ
ใช้งาน Subversion ต้องทำไงบ้าง
หลักๆ ตัว Subversion ทำงานแบบ Client Server ดังนั่นเราจำเป็นที่จะต้องมี Subversion Server ก็นะครับเราก็ทำได้โดยการติดตั้งโปรแกรมแต่ในบทความนี้ผมจะไม่ขอกล่าวถึงการติดตั้ง Subversion Server นะครับแต่ผทจะขอกล่าวถึง Google Code ที่ซึ่งเป็นอีกหนึ่งบริการดีๆ จาก Google โดยตัวเจ้า Google Code เองนั่นสสร้างขึ้นมาเพื่อ Developer ครับตัวมันเองจะทำหน้าที่เหมือน Subversion Server ทุกประการเราไม่จำเป็นที่ต้องติดตั้ง Server เองเลยครับแต่ๆ มีข้อแม้ว่าทุกๆ ดโค็ดที่เก็บอยู่ใน Google Code นั่นจะต้องเป็น Open Project หรือว่าเป็น Open Source Code นั่นเองครับ กล่าวคือใครๆ ก็สามารถดาวโหลดโค็ดของเราไปใช้งานได้ครับ :-)
เตรียมพร้อมกับ Google Code
ก่อนอื่นเราจะต้องมี Google Account ก่อนนะครับถึงจะใช้งาน Google Code ได้เมื่อเรามี Google Account แล้วไฟต่อที่นี้เลยครับ http://code.google.com/ คลิ๊ก Create a new project
เราจะลองสร้างโปรเจ็คขึ้นมาสักตัวนะครับชื่อว่า test-simple-google-code โดยเราจะใช้โปรเจ็คนี้ในการเขียนโปรแกรม HTML ขึ้นมาสักตัวนะครับ
เมื่อเราสร้างเสร็จแล้วจะได้หน้า Project Home ของเราประมาณนี้นะครับ
ให้เราคลิ๊กเลือก Sources Tab นะครับเพื่อเราจะดูว่าโฟรเจ็คของเรานั่นมี URL อยู่ที่ไหนนะครับ
มาถึงขั้นตอนนี้แล้วอีกอย่างเดียวที่เราจ้องการก็คือ Password นะครับเราสามารถดู Password ของเราได้จาก Profile นะครับ
เพียงเท่านี้เราก็สร้างโปรเจ็คชื่่อว่า test-simple-google-code บน Google Code เรียบร้อยแล้วนะครับที่เหลือก็เพียงแต่ Setup SVN Client ที่เครื่องของเราเพื่อที่จะ Checkout Project Directory มาครั้งแรกเท่านั่นครับ อ่านต่อกันเลยครับ
เตรียมพร้อมกับ Subversion Client ด้วย TortoiseSVN
ก่อนอื่นเลยเราต้องไปดาวโหลดตัวโปรแกรม TortoiseSVN มาก่อนครับจากที่นี้ครับ http://tortoisesvn.net/downloads.html ตัวโปรแกรม TotoiseSVN นี้จะทำหน้าที่เป็น Subversion Client ครับเพื่อจะทำหน้าที่ติดต่อกับ Subversion Server เมื่อดาวโหลดมาเรียบร้อยแล้วก็ติดตั้งเลยนะครับ ขึ้นตอนการติดตั้งผมไม่ได้เขียนไว้ในบทความนี้นะครับเพราะว่ามันแค่คลิ๊กๆ เท่านั่นนะครับ เมื่อติดตั้งโปรแกรมเสร็จให้รีสตาร์เครื่องหลังจากติดตั้งเสร็จรอบหนึ่งก่อนนะครับ เพื่อให้ตัวโปรแกรม TotoiseSVN นั่นได้ติดตั้งการทำงานในระบบ Windows ก่อนนะครับ
เมื่อติดตั้งเสร็จเรียบร้อยแล้วถ้าไม่มีปัญหาอะไรเราจะได้เมนูใน Contextual Menu ประมาณนี้นะครับ
มาถึงตอนนี้เราจะ Checkout Directory Project ของเราจาก Google Code มาไว้ที่เครื่องของเรานะครับโดยผมจะเก็บไว้ใน C:\test นะครับ
จะมีวินโดว์หน้าตาแบบนี้ขึ้นมาเพื่อให้เราใส่ URL ของ Source Code URL นะครับ
ส่วนตัว Source Code URL เราสามารถก็อบปี้ได้จาก
เมื่อเรา Checkout เสร็จเรียบร้อยเราก็จะได้หน้าจอแสดงผลประมาณนี้นะครับ
เมื่อเรามาดูที่ C:\test ก็จะมี Directory .svn ถูกสร้างขึ้นมานะครับ .svn นี้ห้ามลบเด็ดขาดนะครับเพราะว่าตัวโปรแกรม TortoiseSVN ของเรานั่นจะใช้ .svn นี้ในการจัดการเกี่ยวกับไฟล์ Version นะครับ
มาถึงคร่าวนี้เราจะมาสร้าง HTML ไฟล์ง่ายๆ สักไฟล์นะครับเพื่อเราจะลองใช้งาน Subversion ของเรานะครับ โดยผมจะเขียนโค็ดตามด้านล่างแล้วบันทึกไฟล์ไว้ที่ C:\test\test.htm นะครับ
จากนั่นเราก็ทำการ Add ไฟล์ที่เราต้องการจะทำ Subversion โดยการแอดไฟล์นั่นเข้าไปที่ Local SVN (.svn นั่นเละครับ) ก่อนนะครับทำได้โดย
เมื่อทำการ Add เรียบร้อยเราควรจะได้ Icon ประมาณนี้นะครับ
จากนั่นเราก็ทำการ Commit ส่งไฟล์ของเราขึ้นไปยัง Google Code Subversion Server นะครับ
จะมีหน้าจอขึ้นมาเพื่อให้เราใส่ข้อมูลหรือว่า Log ว่าในแต่ละครั้งที่เรา Commit ขึ้นไปนั่นมีรายละเอียดยังไงบ้าง หรือพูดง่ายๆว่าก็คือเตือนความจำเองนั่นเละครับ
เมื่อเรากด OK จะมีหน้าจอขึ้นมาถามเรา Username Password ให้เราใส่ไปนะครับ Username คือ Email ของเรานะครับส่วน Password ก็คือที่เราได้จากหน้า Setting ครับ
เมื่อการ Commit ไม่มีปัญหาอะไรเราก็จะได้ Revision เป็น 2 เพิ่มมาแล้วนะครับ
ที่นี้เราลองแก้ไขไฟล์ test.htm ของเรากันนะครับ เพราะว่าเดี่ยวจะลองดู History ของการแก้ไขไฟล์กันนะครับ ว่าไอ้เจ้า Subversion นี้มันเมพขิงๆ จริงๆ ครับ ลองแก้ไฟล์ตามนี้นะครับ
เมื่อเราแก้ไฟล์แล้วสังเกตุที่ Icon นะครับจะเป็นเครื่องหมายตกใจ นั่นแสดงให้เห็นว่าไฟล์ของเรามีการเปลี่ยนแปลงไงครับ
เหมือนเดิมครับเราก็ Commit กลับขึ้นไปที่ Google Code Subversion Server นะครับ
ในขั้นตอนนี้ถ้าเราต้องการจะดูว่าไฟล์เรานั่นมีการแก้ไขอะไรบ้างนั่นเราก็สามารถดับเบิ้ลคลิ๊กที่ไฟล?ที่เราจะดูได้เลยครับแล้วจะมีหน้าต่างเปิดขึ้นมาแสดงว่าทั้งไฟล์ก่อนการแก้ไข และไฟล์หลังการแก้ไขเป็นยังไงบ้าง
เมื่อเรา Commit เสร็จสังเกตุนะครับว่า Revision จะเป็น 3 แล้วนะครับ นั่นไงครับ Version Control ที่เราพูดถึงเราสามารถมาดู History ได้อีกทีในภายหลังครับ
ถ้าเราต้องการที่จะดูว่า History ของไฟล์นั่นเป็นไงบ้างเราสามารถดูได้โดย
จะมีหน้าต่างแสดงรายละเอียด Commit ทั้งหมดที่เรา Commit ไปนะครับเราสามารถดูรายละเอียดได้โดยดับคลิ๊กไฟล์ที่เราต้องการดูเลยนะครับ
เครดิต :: pstudiodev
Comments
Post a Comment