Git Commands พื้นฐานที่ใช้บ่อยที่สุด 20 คำสั่ง พร้อมตัวอย่างการใช้งาน

Git เป็นระบบควบคุมเวอร์ชั่น (Version Control System) ที่ใช้กันอย่างแพร่หลายในโลกการพัฒนาซอฟต์แวร์ สำหรับผู้ที่เพิ่งเริ่มใช้งาน Git กำลังแรก คำสั่งพื้นฐานที่จะกล่าวถึงในบทความนี้คือสิ่งที่นักพัฒนาเกือบทุกคนใช้ในการทำงานประจำวัน การเรียนรู้คำสั่งเหล่านี้จะช่วยให้คุณทำงานกับ Git ได้อย่างมีประสิทธิภาพ

1. git init – เริ่มต้น Repository ใหม่

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

$ git init

2. git clone – ดาวนโหลด Repository จากเซิร์ฟเวอร์

สำหรับการคัดลอก repository ที่มีอยู่จากเซิร์ฟเวอร์ลงมายังเครื่องคอมพิวเตอร์ของคุณ

$ git clone <repository-url>

3. git add – เพิ่มไฟล์ลง Staging Area

คำสั่งนี้ใช้สำหรับเลือกไฟล์ที่ต้องการเก็บการเปลี่ยนแปลงในรอบต่อไป

$ git add <filename>      # เพิ่มไฟล์เฉพาะ
$ git add .              # เพิ่มไฟล์ทั้งหมดที่เปลี่ยนแปลง

4. git commit – บันทึก Snapshot ของโปรเจกต์

สร้างจุดเก็บแบบถาวร (commit) พร้อมกับข้อความอธิบายการเปลี่ยนแปลง

$ git commit -m "ข้อความอธิบาย commit ของคุณ"

5. git push – ส่ง Commit ไปยังเซิร์ฟเวอร์

อัปโหลดการเปลี่ยนแปลงของคุณไปยัง remote repository

$ git push origin <branch-name>

6. git pull – ดึง Commit จากเซิร์ฟเวอร์

ดาวนโหลดการเปลี่ยนแปลงจาก remote repository มายังเครื่องของคุณ

$ git pull origin <branch-name>

7. git status – ดูสถานะของ Repository

แสดงสถานะปัจจุบันของไฟล์และการเปลี่ยนแปลง

$ git status

8. git log – ดูประวัติ Commit

แสดงรายการ commit ที่สร้างขึ้นในประวัติของ repository

$ git log                 # แสดงรายละเอียดทั้งหมด
$ git log --oneline      # แสดงเป็นบรรทัดเดียว

9. git branch – จัดการ Branch

สร้าง ดู หรือลบ branch ต่าง ๆ

$ git branch                      # ดู branch ทั้งหมด
$ git branch <branch-name>       # สร้าง branch ใหม่
$ git branch -d <branch-name>    # ลบ branch

10. git checkout – สลับ Branch

เปลี่ยนไปยัง branch ที่ต้องการหรือสร้าง branch ใหม่และเปลี่ยนไปพร้อมกัน

$ git checkout <branch-name>      # สลับไปยัง branch ที่มีอยู่
$ git checkout -b <branch-name>   # สร้าง branch ใหม่และสลับไป

11. git merge – ทำการ Merge Branch

รวมการเปลี่ยนแปลงจาก branch หนึ่งเข้าไปยัง branch ปัจจุบัน

$ git merge <branch-name>

12. git diff – ดูความแตกต่าง

แสดงความแตกต่างระหว่างไฟล์ที่เปลี่ยนแปลงกับรุ่นก่อนหน้า

$ git diff              # ดูความแตกต่างที่ยังไม่ได้ stage
$ git diff --staged     # ดูความแตกต่างที่ stage แล้ว

13. git reset – ย้อนกลับ Staging Area

นำไฟล์ออกจาก staging area โดยไม่ลบการเปลี่ยนแปลง

$ git reset HEAD <filename>

14. git revert – ย้อนกลับ Commit

สร้าง commit ใหม่ที่ยกเลิกการเปลี่ยนแปลงของ commit ที่ระบุ

$ git revert <commit-hash>

15. git tag – สร้าง Tag

สร้างจุดทำเครื่องหมายสำคัญในประวัติ เช่น รุ่น (version) ของซอฟต์แวร์

$ git tag v1.0.0
$ git push origin --tags

16. git stash – เก็บงานชั่วคราว

เก็บการเปลี่ยนแปลงไว้ชั่วคราวเพื่อใช้ในภายหลัง

$ git stash              # เก็บการเปลี่ยนแปลง
$ git stash pop          # นำการเปลี่ยนแปลงออกมาใช้อีกครั้ง

17. git remote – จัดการ Remote Repository

ดู หรือตั้งค่า remote repository ที่เชื่อมต่อกับ local repository

$ git remote -v                    # ดู remote ทั้งหมด
$ git remote add <name> <url>    # เพิ่ม remote ใหม่

18. git config – ตั้งค่า Git

ดูหรือตั้งค่าต่าง ๆ ของ Git เช่น ชื่อผู้ใช้ อีเมล เป็นต้น

$ git config --list
$ git config --global user.name "ชื่อของคุณ"
$ git config --global user.email "อีเมลของคุณ"

19. git fetch – ดาวนโหลดข้อมูลจาก Remote

ดาวนโหลดข้อมูลจาก remote repository แต่ไม่ทำการ merge

$ git fetch

20. git blame – ค้นหาผู้แก้ไข Code

แสดงว่าบรรทัดของโค้ดแต่ละบรรทัดถูกแก้ไขโดยใครและเมื่อไร

$ git blame <filename>