Git GitHub สอนใช้ Version Control ตั้งแต่เริ่มต้น 2026 - SiamCafe.net Programming

Git GitHub สอนใช้ Version Control ตั้งแต่เริ่มต้น 2026

2026-02-10 | โดย อ.บอม กิตติทัศน์ เจริญพนาสิทธิ์ — SiamCafe.net Since 1997

Git คืออะไร ทำไมโปรแกรมเมอร์ทุกคนต้องใช้

เคยเจอไหมครับ ไฟล์ชื่อ report_final.docx, report_final_v2.docx, report_final_v2_แก้แล้ว.docx, report_จริงๆนะ_final.docx? นี่คือปัญหาที่ Git แก้ได้

Git คือระบบ Version Control ที่ติดตามทุกการเปลี่ยนแปลงของไฟล์ ย้อนกลับได้ทุกเวลา ทำงานหลายคนพร้อมกันได้โดยไม่ชนกัน สร้างโดย Linus Torvalds (คนสร้าง Linux) ในปี 2005 ปัจจุบันเป็นมาตรฐานของอุตสาหกรรม IT ทั่วโลก

ผมเคยเขียนโค้ดโดยไม่ใช้ Git แก้โค้ดแล้วพัง ย้อนกลับไม่ได้ ต้องเขียนใหม่ เสียเวลาเป็นวัน พอเริ่มใช้ Git ปัญหานี้หายไปเลย

ติดตั้ง Git

Windows

  1. ดาวน์โหลดจาก git-scm.com
  2. ติดตั้ง (กด Next ไปเรื่อยๆ ใช้ค่า default)
  3. เปิด Git Bash หรือ Command Prompt พิมพ์ git --version

Mac

brew install git
git --version

Linux

sudo apt install git
git --version

ตั้งค่าครั้งแรก (สำคัญ!)

git config --global user.name "ชื่อคุณ"
git config --global user.email "email@example.com"
git config --global init.defaultBranch main

คำสั่ง Git พื้นฐาน 10 คำสั่งที่ต้องรู้

คำสั่งหน้าที่ตัวอย่าง
git initสร้าง repository ใหม่git init
git cloneโคลน repo จาก remotegit clone https://github.com/user/repo.git
git statusดูสถานะไฟล์git status
git addเพิ่มไฟล์เข้า staginggit add . (ทุกไฟล์)
git commitบันทึกการเปลี่ยนแปลงgit commit -m "fix login bug"
git pushส่งขึ้น remote (GitHub)git push origin main
git pullดึงจาก remote มาอัปเดตgit pull origin main
git branchจัดการ branchgit branch feature-login
git checkoutสลับ branchgit checkout feature-login
git mergeรวม branchgit merge feature-login

เริ่มต้นใช้ Git — ขั้นตอนจริง

สร้างโปรเจกต์แรก

# สร้างโฟลเดอร์โปรเจกต์
mkdir my-project
cd my-project

# เริ่ม Git
git init

# สร้างไฟล์
echo "# My Project" > README.md
echo "print('Hello')" > app.py

# ดูสถานะ
git status
# จะเห็น: Untracked files: README.md, app.py

# เพิ่มไฟล์เข้า staging
git add .

# Commit (บันทึก)
git commit -m "Initial commit: add README and app.py"

# ดูประวัติ
git log --oneline
# จะเห็น: abc1234 Initial commit: add README and app.py

GitHub — เก็บโค้ดบน Cloud

สร้าง Repository บน GitHub

  1. สมัคร github.com (ฟรี)
  2. กด New Repository → ตั้งชื่อ → Create
  3. เชื่อมต่อ local กับ GitHub:
# เพิ่ม remote
git remote add origin https://github.com/username/my-project.git

# Push ขึ้น GitHub
git push -u origin main

# ครั้งต่อไปแค่
git push

Branch — ทำงานหลายอย่างพร้อมกัน

Branch เหมือนการแยกทางเดิน ทำงานแต่ละ feature แยกกัน ไม่กระทบ main code

สำหรับผู้ที่สนใจเรื่องการเงินและการเทรด สามารถศึกษาเพิ่มเติมได้ที่ Price Action สอน

# สร้าง branch ใหม่
git branch feature-login

# สลับไป branch นั้น
git checkout feature-login
# หรือสร้าง+สลับในคำสั่งเดียว
git checkout -b feature-login

# ทำงาน... แก้โค้ด... commit...
git add .
git commit -m "add login page"

# กลับไป main
git checkout main

# รวม feature เข้า main
git merge feature-login

# ลบ branch ที่ไม่ใช้แล้ว
git branch -d feature-login

Merge Conflict — เมื่อโค้ดชนกัน

เกิดเมื่อ 2 คนแก้ไฟล์เดียวกันบรรทัดเดียวกัน Git ไม่รู้จะเอาของใคร ต้องแก้เอง:

# เมื่อเกิด conflict จะเห็นแบบนี้ในไฟล์:
<<<<<<< HEAD
print("Hello from main")
=======
print("Hello from feature")
>>>>>>> feature-login

# วิธีแก้: เลือกเอาอันที่ต้องการ ลบ markers ออก
print("Hello from main and feature")

# แล้ว commit
git add .
git commit -m "resolve merge conflict"

Pull Request — ขอรวมโค้ดอย่างมืออาชีพ

ในทีมจริง ไม่ merge ตรงๆ แต่สร้าง Pull Request (PR) บน GitHub ให้คนอื่น review ก่อน:

  1. สร้าง branch → ทำงาน → push ขึ้น GitHub
  2. บน GitHub กด "New Pull Request"
  3. เลือก branch ที่จะ merge เข้า main
  4. เขียนอธิบายว่าทำอะไร
  5. ทีม review โค้ด → approve → merge

.gitignore — ไฟล์ที่ไม่ควร commit

# สร้างไฟล์ .gitignore
# ไฟล์ที่ไม่ควร commit:

# Environment
.env
venv/
node_modules/

# IDE
.vscode/
.idea/
*.swp

# OS
.DS_Store
Thumbs.db

# Build
dist/
build/
*.pyc
__pycache__/

# Logs
*.log

Git Workflow ที่นิยม

WorkflowเหมาะกับBranch
GitHub Flowทีมเล็ก, deploy บ่อยmain + feature branches
Git Flowทีมใหญ่, release cyclemain + develop + feature + release + hotfix
Trunk-basedCI/CD, deploy ทุกวันmain + short-lived branches

สำหรับมือใหม่ แนะนำ GitHub Flow: ทำงานบน feature branch → PR → merge เข้า main ง่ายและเข้าใจได้เร็ว

เครื่องมือ GUI สำหรับ Git

ถ้าไม่ชอบพิมพ์คำสั่ง ใช้ GUI ได้:

คำสั่ง Git ขั้นสูงที่ควรรู้

# ย้อนกลับ commit ล่าสุด (เก็บไฟล์ไว้)
git reset --soft HEAD~1

# ดูความต่างของไฟล์
git diff

# เก็บงานชั่วคราว (stash)
git stash
git stash pop

# ดูประวัติสวยๆ
git log --oneline --graph --all

# แก้ commit message ล่าสุด
git commit --amend -m "new message"

# Cherry-pick commit จาก branch อื่น
git cherry-pick abc1234

สรุป

Git เป็นเครื่องมือที่โปรแกรมเมอร์ทุกคนต้องใช้เป็น ไม่มีข้อยกเว้น เริ่มจากจำ 5 คำสั่ง: add, commit, push, pull, branch แค่นี้ก็ใช้งานได้ 90% ของงานประจำวันแล้ว

สร้าง GitHub account วันนี้ สร้าง repo แรก push โค้ดขึ้นไป แล้วค่อยๆ เรียนรู้ branch, merge, PR ไปทีละขั้น ผมรับรองว่าเมื่อใช้เป็นแล้ว จะสงสัยว่าทำไมไม่เริ่มใช้ตั้งนานแล้วครับ

บทความที่เกี่ยวข้อง

📰 บทความล่าสุดจาก SiamCafe

🗺️ ดูบทความทั้งหมด — Sitemap SiamCafe Blog

SiamCafe.net — แหล่งความรู้ด้าน IT, Network, Security, Programming อันดับ 1 ของไทย ก่อตั้งตั้งแต่ปี 1997 โดย อ.บอม ผู้เชี่ยวชาญด้าน IT Infrastructure และ Forex Trading มากกว่า 25 ปี บทความทุกชิ้นเขียนจากประสบการณ์จริงในวงการ IT ประเทศไทย