ตอนที่ 1 SVN : รู้จักกับ SVN (Subversion) คืออะไร กับความหมายของ Version Control |
ตอนที่ 1 SVN : รู้จักกับ SVN (Subversion) คืออะไร กับความหมายของ Version Control ช่วงนี้ผมได้มีโอากาสใช้โปรแกรม SVN บ่อยมากและเกือบทุกวัน ใช้ทั้งการบริหารเอกสาร Document ต่าง ๆ หรือจะเป็น Source Code ของโปรแกรม เพราะโปรแกรม SVN มันเข้ามาจัดการช่วยให้การทำงานเป็นทีมไม่ว่าจะเป็น การทำงานของ SA ที่เกี่ยวกับ Document หรือ Programmer ที่ทำหน้าที่ Coding นั้นเป็นไปได้อย่างราบรื่นและสะดวกมาก ๆ ความสามารถจัดการทั้งกับเอกสาร และ Source Code ของโปรแกรม ไม่ว่าจะนั่งอยู่ที่บ้านหรือทำงานที่ Office ก็สามารถที่จะนำ ไฟล์ หรือ Code ของโปรแกรมมารันบนเครื่องตัวเองได้ตลอดเวลา สามารถมอบหมายงานส่งเอกสาร Spec หรือ Document ให้กับน้องๆ ในทีม โปรแกรมเมอร์ทำการแก้ไขและอัพเดดโปรแกรมได้แม้ว่าจะอยู่คนล่ะ Site งานก็ตาม
SVN (Subversion) : Version Control
SVN คืออะไร ???
SVN คือ โปรแกรมที่ทำหน้าที่จัดการกับ Version Control ของไฟล์ต่าง ๆ ไม่ว่าจะเป็นการจัดการกับเอกสารพวก Document , ไฟล์รูปภาพ และที่สำคัญที่สุดก็คือ จัดการเกี่ยวกับ Source Code ของโปรแกรม โดยหน้าที่ของ SVN คือจัดเก็บไฟล์ต่าง ๆ เหล่านั้นไว้ในคลัง แล้วแยกไฟล์นั้นเป็นเวอร์ชั่นต่าง ๆ โดยเราเรียกมันว่า Revision ซึ่งเวอร์ชั่นของไฟล์ที่จัดเก็บนั้นจะเกี่ยวข้องกับ User หลาย ๆ คนที่เข้ามาใช้งาน เช่น นาย A ทำเอกสารเสร็จ แล้วใช้ SVN จัดเก็บ จะถูกนับเป็น Revision : 1 และเมื่อนาย B นำไฟล์นี้ไปแก้ไขแล้วนำมาจัดเก็บลงใน SVN อีกครั้งก็จะถูกนับเป็น Revision: 2 และการแก้ไขครับต่อ ๆ ไปก็จะนับ Revision ไปเรื่อย ๆ ซึ่งประโยชน์ของมันก็คือโดยปกติแล้ว SVN จะมี Server ทำหน้าที่จัดเก็บไฟล์ ฉะนั้นไฟล์ต่าง ๆ จะถูกจัดเก็บไว้บน Server และเรียกใช้งานผ่าน Protocol : TCP/HTTP ฉะนั้น SVN Server ที่ทำหน้าที่จัดเก็บไฟล์ จะเป็นตัวกลางในการแลกเปลี่ยน Version ของไฟล์ ซึ่งวิธีนี้จะเป็นประโยชน์มากในการป้องกันไฟล์หาย และเราจะได้ไฟล์ล่าสุดเสมอ เมื่อทำการ Checkout หรืออัพเดดจาก SVN Server และประโยชน์อื่น ๆ ของ SVN เช่น ดู Log หรือ History ของการแก้ไขไฟล์ และ ยังสามารถนำ Revision ของไฟล์กลับมาใช้งานได้ ในกรณีที่ต้องการกลับไปใช้ Version เก่า ๆ
ในปัจจุบัน SVN ได้รับความนิยมอย่างมากมาย โดยเฉพาะโปรเจค Open Source ในต่างประเทศก็ใช้ SVN เป็น Source Version Control เข้ามาจัดการกับการทำงานเป็นทีม และในเมืองไทยในหลาย ๆ บริษัทก็ใช้กันเกือบทุก ๆ ที่ที่มีการพัฒนาโปรแกรมที่มีหลาย ๆ คนเข้ามาเกี่ยวข้อง ส่วนหนึ่งเพราะ SVN เป็น Open Source ที่สามารถใช้งานได้ฟรี โปรแกรมมีขนาดเล็ก อีกทั้งยังมี Plugin อีกมากมายที่รองรับบน IDE ร่วมกับการพัฒนาโปรแกรมหลาย ๆ ประเภท เช่น PHP , Java หรือจะเป็นโปรแกรมบน .Net Application ที่ได้รับความนิบมมากในปัจจุบัน
สรุปสาระสำคัญของการใช้ SVN
- SVN แยกเป็น 2 ส่วนคือ SVN Server และ SVN Client
- SVN สามารถใช้เครื่องใดเครื่องหนึ่งเป็น SVN Server และเครื่องอื่น ๆ เป็น Client ก็ได้
- SVN เชื่อมต่อผ่านระบบ Internet (Public IP) / Intranet Local
- SVN เขียนโปรแกรมคนเดียวก็ใช้ SVN ได้ คือ ติดตั้งทั้ง Server และ Client ประโยชน์ก็คือใช้ทำ Version
- SVN ปัจจุบันมีบริการ Free Hosting (เหมือน Storage) ที่เราไม่จำเป็นต้องติดตั้ง SVN Server เอง (อ่านตอนที่ 9,10,11 และ 12)
- SVN เป็น Open Source ที่ใช้งานได้ฟรี ทั้งที่เป็น Server และ Client
- SVN โปรแกรมที่มีรุปแบบเหมือนกัน และ จัดอยุ่ในกลุ่มเดียวกันที่คุ้น ๆ หน่อยก็คือ Visual SourceSafe , Visual Studio Online (Team Foundation Server) , Git และอื่น ๆ อีกมากมาย
Screenshot
SVN จัดเก็บไฟล์ได้ทุกประเภท ไม่ว่าจะเป็นไฟล์ Source Code ของ PHP , HTML , CSS และอื่น ๆ เกือบทุกประเภท
SVN มี Plugin ใช้กับโปรแกรม Eclipse ไว้เขียน PHP , Java , Android และอื่น ๆ อีกมากมาย
มี Plugin รองรับบน Visual Studio ทั้ง Version เก่า ๆ เช่น 2005, 2008 , 2010 และ รุ่นใหม่ ๆ เช่น 2012,2013, 2015
สำหรับบทความในหัวข้อ SVN นี้ทางทีมงานไทยครีเอท ตั้งใจจะเขียนเกี่ยวกับพื้นฐานการใช้งาน SVN แบบง่าย ๆ รวมทั้งการประยุกต์ใช้งานจริง ซึ่งเนื้อหาอาจจะไม่ครอบคลุมกับกับรายละเอียดทั้งหมดของ SVN ได้ แต่ก็พอจะเป็นแนวทางที่ให้น้องๆ โปรแกรมเมอร์ทั้งหลาย สามารถนำความรู้ที่ได้ไปประยุกต์กับงานทำงานจริง ทั้งานส่วนตัว หรือ งานเป็นทีมในบริษัท
คู่มือการใช้งาน SVN Manual
|
ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท
|
|
|
By : |
ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ) |
|
Score Rating : |
|
|
|
Create/Update Date : |
2015-09-17 22:03:23 /
2017-03-24 22:48:49 |
|
Download : |
No files |
|
Sponsored Links / Related |
|
|
|
|
|
|
|