Dark mode
staging and commit
staging คือการเลือกไฟล์เพื่อที่ขะจะ commit
staging to commit
bash
git add <file_name>
commit แล้ว
ขั้นตอนการ commit
- เพิ่ม file change เข้าสู่ staging area (git add)
bash
git add file_name
- บันทึกการเปลี่ยนแปลง (git commit)
bash
git commit -m "message"
เครื่องมือช่วยให้การ commit ง่ายขึ้น
commit
แนะนำให้ใช้ czgit เพื่อการ commit ที่ดีขึ้น
ขั้นตอนการ commit
- เพิ่ม file change เข้าสู่ staging area (git add)
- บันทึกการเปลี่ยนแปลง (git commit)
merge
pull request and merge
ขั้นตอนกร merge
- สร้าง branch ใหม่ เช่น feature/fix
bash
git checkout -b feature/fix
- push branch ไปยัง remote repository
bash
git push -u origin feature/fix
- เปิด PR เพื่อให้ทีม review การเปลี่ยนแปลง
- หลังจาก approve แล้วจะทำการ merge เข้า branch หลัก
merge conflict
เกิดเมื่อมีหลายคนแก้ไขไฟล์เดียวกันในส่วนเดียวกันพร้อมๆ กัน เช่น:
- คน A แก้ไขบรรทัดที่ 10 ของไฟล์ X แล้ว push ขึ้นไป
- คน B ก็แก้ไขบรรทัดที่ 10 ของไฟล์ X เหมือนกันแต่คนละวิธี แล้วพยายาม push ภายหลัง Git จะไม่รู้ว่าต้องใช้การเปลี่ยนแปลงของใคร จึงต้องให้เราตัดสินใจด้วยตัวเอง
release
ขั้นตอนการ release
- เพิ่ม version เข้าสู่ package.json
- สร้าง tag
- push tag
- release
เครื่องมือจัดการ release
แนะนำใช้ release-it
เครื่องมือช่วยจัดการการ release เวอร์ชันใหม่ของโปรเจค โดยสามารถ:
- เพิ่มเวอร์ชันอัตโนมัติตาม semantic versioning
- สร้าง changelog
- publish ไปยัง npm/github releases
history
Git history คือประวัติการเปลี่ยนแปลงทั้งหมดของโปรเจค ประกอบด้วย:
- Commit แต่ละครั้งที่บันทึกการเปลี่ยนแปลง
- ผู้ที่ทำการเปลี่ยนแปลง
- วันที่และเวลาที่เปลี่ยนแปลง
- ข้อความอธิบายการเปลี่ยนแปลง
File History
เปิดใน vscode กด open change
หรือถ้าให้ง่าย ติดตั้ง Git File History ใน vscode
เครื่องมือช่วยดูประวัติการเปลี่ยนแปลงของไฟล์แบบ visual ใน VS Code
commit Log
บันทึกการเปลี่ยนแปลงทั้งหมดของโปรเจค ดูได้โดย:
bash
git log
สามารถเพิ่ม options ต่างๆ เช่น:
--oneline
แสดงแบบย่อ--graph
แสดงเป็นกราฟ--author="ชื่อ"
กรองตามผู้แก้ไข
แนะนำ gitui
หรือ vscodesource control