Git คืออะไร?
Git เป็นระบบควบคุมเวอร์ชัน (Version Control System) ที่ใช้สำหรับติดตามการเปลี่ยนแปลงของไฟล์ในโปรเจกต์ โดยทำงานแบบกระจายศูนย์ (Distributed System) ทำให้ทุกคนในทีมมีสำเนาของ Repository ทั้งหมด ช่วยให้การทำงานร่วมกันเป็นไปได้อย่างมีประสิทธิภาพและสะดวกมากขึ้น
ทำไมต้องใช้ Git?
- ติดตามประวัติการเปลี่ยนแปลง: รู้ว่าใครแก้ไขอะไร และเมื่อไหร่
- ย้อนกลับเวอร์ชันก่อนหน้า: สามารถย้อนกลับไปแก้ไขหากเกิดปัญหา
- ทำงานร่วมกันในทีม: สามารถแก้ไขโค้ดพร้อมกัน โดยลดความขัดแย้ง
- สำรองข้อมูล: ป้องกันการสูญหายของข้อมูล
คำสั่ง Git เบื้องต้น
1. ติดตั้ง Git
ก่อนเริ่มใช้งาน ต้องติดตั้ง Git โดยสามารถดู วิธีการติดตั้ง Git ได้ที่นี่
2. ตั้งค่า Git (ครั้งแรก)
กำหนดข้อมูลผู้ใช้สำหรับติดตามการเปลี่ยนแปลง
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
#ตรวจสอบค่าที่ตั้งไว้
git config --global --list
3. เริ่มต้นโปรเจกต์ใหม่
สร้าง Repository ใหม่ในโฟลเดอร์ปัจจุบัน
cd path/to/your/project # เข้าไปยังโฟลเดอร์โปรเจกต์
git init # เริ่มต้น Git Repository
4. โคลน Repository
ดาวน์โหลดไฟล์จาก Remote Repository ไปยังเครื่องของคุณ
git clone https://github.com/username/repository.git
5. เชื่อมต่อกับ Remote Repository
เป็นเครื่องมือสำคัญในการจัดการการเชื่อมต่อกับ remote repositories ที่ใช้สำหรับแชร์โค้ดกับทีมงานคนอื่นๆ ช่วยให้สามารถดึง (fetch), ผลักดัน (push), หรือดึงการอัปเดต (pull) โค้ดระหว่างเครื่องของเรากับ remote repository ได้อย่างมีประสิทธิภาพ
ตรวจสอบ Remote Repository ที่เชื่อมโยงอยู่
git remote -v
เพิ่ม Remote Repository
git remote add origin https://github.com/yourusername/yourrepository.git
6. เพิ่มไฟล์ไปยัง staging area
เตรียมไฟล์สำหรับการ Commit
git add index.html # เพิ่มไฟล์เฉพาะเจาะจง
git add . # เพิ่มทุกไฟล์ที่มีการเปลี่ยนแปลง
7. ตรวจสอบสถานะของไฟล์
ตรวจสอบสถานะของไฟล์ใน Repository
git status
- สีเขียว: ไฟล์ที่พร้อมจะ commit แล้ว (ถูกเพิ่มเข้า Staging Area)
- สีแดง: ไฟล์ที่มีการเปลี่ยนแปลงแต่ยังไม่ได้ถูกเพิ่ม (staged) ด้วย git add
8. บันทึกการเปลี่ยนแปลง
git commit คำสั่งยืนยันจะบันทึกการเปลี่ยนแปลงไฟล์ที่ถูกเพิ่มลงใน stage ออกมาเป็นเวอร์ชัน ให้ง่ายต่อการเรียกใช้
git commit -m "รายละเอียดการเปลี่ยนแปลง"
9. ดูประวัติการ Commit
ดูรายการ Commit ทั้งหมด
git log
10. สร้างและสลับสาขา (Branch)
สร้างสาขาใหม่และสลับไปทำงานในสาขานั้น
git branch new_feature # สร้างสาขาใหม่
git checkout new_feature # ย้ายไปที่สาขาใหม่
git branch -d new_feature # ลบสาขา
11. รวมสาขา (Merge)
รวมการเปลี่ยนแปลงจากสาขาอื่นเข้าสู่สาขาปัจจุบัน
git merge new_feature
12. ดึงการเปลี่ยนแปลงจาก Remote Repository
ดึงการอัปเดตล่าสุดจาก Remote
git pull origin master
13. อัพเดทไฟล์ให้ repository เป็นเวอร์ชั่นล่าสุด
ส่งการเปลี่ยนแปลงจาก Local ไปยัง Remote
git push origin master
14. ยกเลิกการเปลี่ยนแปลง
ยกเลิกการเปลี่ยนแปลงหรือย้อนกลับสถานะ
git reset index.html # ยกเลิกไฟล์จาก Staging Area
git reset --hard # ย้อนกลับไฟล์ทั้งหมด
git checkout index.html # คืนค่าไฟล์กลับเป็นเวอร์ชันล่าสุด
15. ไฟล์ .gitignore
สร้างไฟล์ .gitignore เพื่อละเว้นไฟล์หรือโฟลเดอร์ที่ไม่ต้องการติดตาม
*.log
node_modules/
.DS_Store
การแก้ไข Merge Conflict
เมื่อมีความขัดแย้งระหว่างสองสาขา Git จะแจ้งให้แก้ไขไฟล์ที่มีปัญหาและ commit การเปลี่ยนแปลงหลังจากนั้น
git add .
git commit -m "แก้ไข Merge Conflict"
Git มีประโยชน์ในการติดตามการเปลี่ยนแปลงไฟล์, การทำงานร่วมกันในทีม, และการป้องกันการสูญหายของข้อมูล การเรียนรู้คำสั่งเบื้องต้นและการจัดการ Repository จะช่วยให้โปรเจกต์ทำงานได้ราบรื่นและยืดหยุ่นมากขึ้น จึงเป็นเครื่องมือสำคัญในการพัฒนาซอฟต์แวร์