Repository, Commit และ History
มีสามคำที่คุณจะได้ยินบ่อยมาก มาไขความลึกลับของมันกัน
(หรือ "repo") ก็แค่โฟลเดอร์ที่ กำลังจับตาดูอยู่ คุณเปลี่ยนโฟลเดอร์ธรรมดาให้เป็น repo แค่ครั้งเดียว จากนั้น Git จะติดตามทุกอย่างที่อยู่ในนั้น
คือจุดเซฟหนึ่งจุด มันคือภาพรวมของทุกไฟล์ ณ ช่วงเวลาหนึ่ง บวกกับข้อความสั้น ๆ จากคุณที่อธิบายว่ามีอะไรเปลี่ยนไป ("เพิ่มหน้าโฮมเพจ", "แก้ปุ่มสมัครสมาชิกที่พัง") คุณจะ commit อยู่ตลอดเวลา — ลองคิดว่าแต่ละครั้งคือจุดตรวจสอบ (checkpoint) ที่คุณอาจอยากย้อนกลับมา
history คือรายการลำดับของ commit ทั้งหมดของคุณ มันคือไทม์ไลน์ คุณสามารถเลื่อนดูมันได้ อ่านว่าแต่ละการเปลี่ยนแปลงคืออะไร และย้อนเวลากลับไปยังจุดไหนก็ได้
นี่คือหน้าตาของมันในทางปฏิบัติ ไม่ต้องกังวลว่าต้องจำให้ได้ — ส่วนใหญ่คุณจะให้ AI รันคำสั่งเหล่านี้แทนคุณ — แต่อ่านตามไปเพื่อให้คำเหล่านี้เลิกเป็นเรื่องลึกลับ:
# Turn the current folder into a Git repository (do this once)
git init
# See which files have changed since your last save point
git status
# Stage your changes, then save them as a commit with a message
git add .
git commit -m "Add the homepage layout"
# Look at your history — every commit, newest first
git log --oneline
git add . คือการที่คุณบอกว่า "รวมการเปลี่ยนแปลงทั้งหมดของฉันไว้ในจุดเซฟถัดไป" git commit คือการเซฟจริง ๆ ส่วน -m "..." คือบันทึกช่วยจำถึงตัวคุณเองในอนาคต เขียนบันทึกที่คุณจะเข้าใจได้แม้ผ่านไปหนึ่งเดือน
สองคำสั่งนี้จะเคลื่อนงานของคุณผ่านสามขั้นตอน ไฟล์ที่คุณแก้ไขจะยังไม่ถูกบันทึกจนกว่ามันจะเดินทางไปจนสุดทางด้านขวา:
┌─────────────────┐ git add ┌─────────────────┐ git commit ┌─────────────────┐
│ WORKING DIR │ ─────────▶ │ STAGING │ ───────────▶ │ HISTORY │
│ files you edit │ │ changes picked │ │ saved commits │
│ (not saved yet)│ │ for next save │ │ (safe forever) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
you change you choose what it becomes a
a file goes in the commit permanent snapshot