SVN: Subversion folder

การวางโครงสร้าง Folder สำหรับ SVN ที่เป็นมาตรฐานสากลและได้รับการยอมรับมากที่สุดคือระบบ “Standard Layout” ครับ โครงสร้างนี้ช่วยให้การจัดการ Code, การทำ Branching และการ Release software เป็นไปอย่างมีระเบียบ

นี่คือโครงสร้างหลักที่ควรมีในทุก Repository


โครงสร้างมาตรฐาน

/ProjectName ├── trunk ├── branches └── tags
  • /trunk: คือส่วนที่เก็บ Source Code หลัก ที่กำลังพัฒนาอยู่ (เปรียบเสมือน Master หรือ Main ใน Git) ทุกคนในทีมจะทำงานหลักที่นี่
  • /branches: ใช้สำหรับเก็บ กิ่งก้านที่แยกออกมา เพื่อพัฒนา Feature ใหม่, แก้ไข Bug เฉพาะหน้า หรือทำโปรเจกต์ทดลอง โดยไม่ให้กระทบกับงานหลักใน trunk
  • /tags: ใช้สำหรับเก็บ Snapshot ของ Code ณ เวลาใดเวลาหนึ่ง (มักเป็น Read-only) เช่น เมื่อปล่อยเวอร์ชัน v1.0 หรือ v2.1 เพื่อให้เราสามารถย้อนกลับมาดู Code ของเวอร์ชันนั้น ๆ ได้อย่างแม่นยำ

โครงสร้างสำหรับโปรเจกต์ขนาดใหญ่หรือหลายโมดูล

หากคุณมีหลายโปรเจกต์ภายใต้ Repository เดียวกัน หรือมีส่วนประกอบอื่น ๆ เช่น เอกสารประกอบ (Docs) สามารถขยายโครงสร้างได้ดังนี้ครับ

/Company_Repo ├── Project_A │ ├── trunk │ ├── branches │ └── tags ├── Project_B │ ├── trunk │ ├── branches │ └── tags └── shared_assets (ถ้ามีไฟล์ที่ใช้ร่วมกันทุกโปรเจกต์) 

ข้อแนะนำเพิ่มเติม

  1. อย่าเก็บไฟล์ที่ Generate ได้เอง: เช่น โฟลเดอร์ node_modules, bin, obj, หรือไฟล์ .exe ควรเก็บเฉพาะ Source Code และไฟล์ Config ที่จำเป็นเท่านั้น
  2. Naming Convention สำหรับ Tags/Branches: ควรตั้งชื่อให้สื่อความหมาย เช่น:
    • /tags/release-1.0.0
    • /branches/feature-login-page
  3. Backup ก่อนจัดการระบบ: ตามที่คุณเคยบันทึกไว้ การจัดการกับ Server หรือ Config สำคัญ ๆ อย่าลืมทำ Snapshot หรือ Backup ตัว Repository ไว้ก่อนเสมอเพื่อป้องกันข้อมูลสูญหายครับ

อ่านเพิ่มเติม

Exit mobile version