跳到主要内容

เนื้อหาภาษาไทย / 泰语内容

系统指南 内容已审核

Version Control ด้วย Git: ทำงานร่วมกันอย่างราบรื่น

บทความนี้แนะนำ Version Control และ Git ซึ่งเป็นเครื่องมือสำคัญสำหรับการทำงานร่วมกันและจัดการการเปลี่ยนแปลงโค้ดอย่างมีประสิทธิภาพ โดย Git ช่วยให้เราติดตามการเปลี...

Version Control ด้วย Git: ทำงานร่วมกันอย่างราบรื่น

ในบทที่แล้ว เราได้เรียนรู้เกี่ยวกับการใช้ Package Managers เพื่อจัดการ Dependencies ของโปรเจกต์เราให้เป็นระเบียบเรียบร้อย แต่เมื่อเราทำงานเป็นทีมหรือต้องการเก็บประวัติการเปลี่ยนแปลงของโค้ด การใช้แค่ Package Managers อาจไม่เพียงพอ นั่นคือเหตุผลที่เราต้องรู้จักกับ Version Control และ Git

ความสำคัญของ Version Control

ลองนึกภาพว่าคุณกำลังพัฒนาเว็บไซต์กับเพื่อนร่วมงานหลายคน ทุกคนแก้ไขไฟล์เดียวกันพร้อมๆ กัน โดยไม่มีระบบควบคุมการเปลี่ยนแปลงที่ชัดเจน ผลลัพธ์ที่ได้อาจเป็นหายนะ! โค้ดที่เคยทำงานได้ดีอาจพังเพราะการแก้ไขของคนอื่น หรืออาจเกิดความสับสนว่าโค้ดเวอร์ชันไหนคือเวอร์ชันล่าสุดกันแน่

Version Control ช่วยแก้ปัญหาเหล่านี้ได้ โดยเป็นระบบที่:

  • ติดตามการเปลี่ยนแปลง: บันทึกทุกการแก้ไขไฟล์ ทำให้เราสามารถย้อนกลับไปยังเวอร์ชันก่อนหน้าได้
  • ทำงานร่วมกันอย่างราบรื่น: ช่วยให้หลายคนสามารถทำงานบนโค้ดชุดเดียวกันได้ โดยไม่ขัดแย้งกัน
  • สำรองข้อมูล: เก็บประวัติการเปลี่ยนแปลงทั้งหมด ทำให้เราสามารถกู้คืนข้อมูลได้ในกรณีที่เกิดข้อผิดพลาด

Version Control เปรียบเสมือนเครื่อง Time Machine สำหรับโค้ดของเรา ช่วยให้เราเดินทางไปในอดีตเพื่อแก้ไขปัญหาหรือเรียนรู้จากความผิดพลาดได้

Git คืออะไรและทำงานอย่างไร

Git เป็น Version Control System (VCS) ที่ได้รับความนิยมมากที่สุดในโลก ถูกสร้างขึ้นโดย Linus Torvalds ผู้สร้าง Linux Kernel Git เป็น Distributed Version Control System (DVCS) หมายความว่าทุกคนที่ทำงานในโปรเจกต์จะมีสำเนาของ repository ทั้งหมดอยู่ในเครื่องของตัวเอง ทำให้สามารถทำงานแบบออฟไลน์และทำงานร่วมกันได้อย่างมีประสิทธิภาพ

โครงสร้างของ Git

Git มีโครงสร้างหลักๆ 3 ส่วน:

  1. Working Directory: คือโฟลเดอร์ที่เราทำงานอยู่ ซึ่งเป็นสำเนาของไฟล์ในโปรเจกต์
  2. Staging Area (Index): คือพื้นที่พักไฟล์ที่เราต้องการ commit (บันทึกการเปลี่ยนแปลง)
  3. Repository (.git directory): คือฐานข้อมูลที่เก็บประวัติการเปลี่ยนแปลงทั้งหมดของโปรเจกต์

การทำงานของ Git คือการย้ายไฟล์ระหว่าง Working Directory, Staging Area และ Repository

ขั้นตอนการทำงานของ Git

โดยทั่วไป ขั้นตอนการทำงานของ Git จะเป็นดังนี้:

  1. แก้ไขไฟล์ใน Working Directory: แก้ไขโค้ด, เพิ่มไฟล์ใหม่, หรือลบไฟล์
  2. Staging Changes: เพิ่มไฟล์ที่ต้องการ commit ไปยัง Staging Area โดยใช้คำสั่ง git add
  3. Commit Changes: บันทึกการเปลี่ยนแปลงจาก Staging Area ไปยัง Repository โดยใช้คำสั่ง git commit
  4. Push Changes (optional): ส่งการเปลี่ยนแปลงจาก Repository ในเครื่องของเราไปยัง Repository บน Server (เช่น GitHub, GitLab) โดยใช้คำสั่ง git push
  5. Pull Changes (optional): ดึงการเปลี่ยนแปลงจาก Repository บน Server มายัง Repository ในเครื่องของเรา โดยใช้คำสั่ง git pull

คำสั่ง Git พื้นฐาน

ต่อไปนี้คือคำสั่ง Git พื้นฐานที่เราควรรู้จัก:

1. git init

สร้าง Git repository ใหม่ในโฟลเดอร์ปัจจุบัน

git init

กรณีใช้งานจริง: เมื่อเริ่มโปรเจกต์ใหม่ หรือต้องการเพิ่ม Version Control ให้กับโปรเจกต์ที่มีอยู่

ข้อผิดพลาดที่พบบ่อย: รันคำสั่งนี้ซ้ำในโฟลเดอร์ที่มี .git อยู่แล้ว (ไม่มีผลเสียร้ายแรง)

2. git add

เพิ่มไฟล์ไปยัง Staging Area

git add .  # เพิ่มทุกไฟล์ที่เปลี่ยนแปลง
git add filename.txt  # เพิ่มไฟล์เดียว

กรณีใช้งานจริง: หลังจากแก้ไขไฟล์แล้ว ต้องการเตรียมไฟล์เหล่านั้นเพื่อ commit

ข้อผิดพลาดที่พบบ่อย: ลืมรันคำสั่งนี้ก่อน commit ทำให้การเปลี่ยนแปลงไม่ถูกบันทึก

3. git commit

บันทึกการเปลี่ยนแปลงจาก Staging Area ไปยัง Repository พร้อมข้อความอธิบาย

git commit -m "Add feature: implement user authentication"

กรณีใช้งานจริง: หลังจาก staging ไฟล์แล้ว ต้องการบันทึกการเปลี่ยนแปลงเป็นเวอร์ชันใหม่

ข้อผิดพลาดที่พบบ่อย: ลืมใส่ข้อความอธิบาย (commit message) หรือใส่ข้อความที่ไม่สื่อความหมาย

4. git status

แสดงสถานะของ Working Directory และ Staging Area

git status

กรณีใช้งานจริง: ต้องการตรวจสอบว่าไฟล์ไหนถูกแก้ไข, staging หรือยัง, หรือมีอะไรที่ยังไม่ได้ commit

ข้อผิดพลาดที่พบบ่อย: ไม่ได้ใช้คำสั่งนี้ก่อน commit ทำให้ไม่ทราบว่ามีการเปลี่ยนแปลงอะไรบ้าง

5. git push

ส่งการเปลี่ยนแปลงจาก Repository ในเครื่องของเราไปยัง Repository บน Server (เช่น GitHub, GitLab)

git push origin main  # ส่งไปยัง branch 'main' ของ remote repository 'origin'

กรณีใช้งานจริง: ต้องการแชร์การเปลี่ยนแปลงของเราให้คนอื่นเห็น หรือสำรองข้อมูลโค้ดไว้บน Server

ข้อผิดพลาดที่พบบ่อย: ยังไม่ได้ตั้งค่า remote repository หรือ branch ที่จะ push ไป

6. git pull

ดึงการเปลี่ยนแปลงจาก Repository บน Server มายัง Repository ในเครื่องของเรา

git pull origin main  # ดึงข้อมูลจาก branch 'main' ของ remote repository 'origin'

กรณีใช้งานจริง: ต้องการรับการเปลี่ยนแปลงจากเพื่อนร่วมงาน หรืออัปเดตโค้ดในเครื่องของเราให้เป็นเวอร์ชันล่าสุด

ข้อผิดพลาดที่พบบ่อย: เกิด conflict เมื่อมีการแก้ไขไฟล์เดียวกันทั้งบน Server และในเครื่องของเรา

ตัวอย่างการใช้งาน Git แบบ Step-by-Step

  1. สร้างโฟลเดอร์โปรเจกต์:
  2. mkdir my-website
    cd my-website
    
  3. เริ่มต้น Git repository:
  4. git init
    
  5. สร้างไฟล์ index.html:
  6. <!DOCTYPE html>
    <html>
    <head>
        <title>My Website</title>
    </head>
    <body>
        <h1>Hello, world!</h1>
    </body>
    </html>
    
  7. Staging ไฟล์ index.html:
  8. git add index.html
    
  9. Commit การเปลี่ยนแปลง:
  10. git commit -m "Add initial HTML file"
    
  11. (Optional) สร้าง repository บน GitHub/GitLab และเชื่อมต่อกับ local repository: (สมมติว่า remote repository ชื่อ 'origin' และ branch ชื่อ 'main')
  12. git remote add origin <URL_ของ_repository>
    git push origin main
    
  13. แก้ไขไฟล์ index.html:
  14. <!DOCTYPE html>
    <html>
    <head>
        <title>My Website</title>
    </head>
    <body>
        <h1>Welcome to my website!</h1>
        <p>This is a simple website built with HTML.</p>
    </body<
    /html>
    
  15. Staging และ Commit การเปลี่ยนแปลง:
  16. git add index.html
    git commit -m "Update index.html with welcome message"
    
  17. Push การเปลี่ยนแปลงไปยัง remote repository:
  18. git push origin main
    

แค่นี้เราก็สามารถใช้ Git เพื่อติดตามการเปลี่ยนแปลงและทำงานร่วมกับผู้อื่นได้อย่างราบรื่นแล้ว!

ข้อควรจำ: Git เป็นเครื่องมือที่ทรงพลังและมีคำสั่งอีกมากมายให้เรียนรู้ แต่คำสั่งพื้นฐานเหล่านี้จะช่วยให้คุณเริ่มต้นใช้งาน Git ได้อย่างง่ายดาย

ในบทต่อไป เราจะมาเรียนรู้เกี่ยวกับเครื่องมือต่างๆ ที่ช่วยให้นักพัฒนาเว็บทำงานได้ง่ายขึ้น เช่น Text Editors, IDEs และ DevTools

Office.in.th Custom Service

想基于此结构开发或定制系统?

Office.in.th 承接企业级 Web Application、API Integration 以及政府/企业管理系统的设计与开发,并提供长期支持。

查看软件开发服务