2022-03-06
หัวเรื่อง
Git คืออะไร และ การใช้งาน Git ขั้นพื้นฐาน
เนื้อหา
Git คือ Version Version Control ตัวหนึ่ง ซึ่งเป็นเครื่องมือที่ใช้สำหรับจัดเก็บและควบคุมการเปลี่ยนแปลงที่เกิดขึ้นกับโค้ดหรือข้อมูลในไฟล์ชนิดใดก็ได้ ไม่ว่าจะเป็น Binary file ไปจนถึง Text file ซึ่งโดยปกติเรามักรู้จักหรือเรียกว่า Source code นั้นเอง
ทำไมต้องใช้ Git?
1. Track version ย้อนหลังของ Source code ได้
บ่อยครั้งที่เรามักพบว่าเมื่อเราเริ่มเขียนโค้ดอย่างต่อเนื่อง เป็นวัน สัปดาห์ หรือเดือน เรามักมีการแก้ไขโค้ดหลายครั้ง ซึ่งบางครั้งเมื่อมีการเขียนโค้ดใหม่เพิ่มเติมก็มีความเป็นไปได้ที่อาจจะส่งผลกระทบต่อฟังก์ชันการทำงานเดิมที่เราเคยพัฒนาไว้ ซึ่งโดยปกติแล้วเมื่อเรามีการจัดเก็บไฟล์เข้าไปในระบบ Git เราจะเรียกว่า Git Repository ซึ่งเป็นการเก็บสำรองข้อมูลและการเปลี่ยนแปลงของ Source code ไว้ ทำให้เมื่อเกิดปัญหาหรือมีความจำเราสามารถย้อนกลับไปใช้โค้ดเวอร์ชันเดิมของเราได้ โดยไม่ต้องไล่ลบโค้ดใหม่ที่เราเขียนหรือต้องคอยบันทึกไฟล์เป็นเวอร์ชันไว้ในคอมพิวเตอร์
- ช่วยให้การพัฒนาซอฟต์แวร์เป็นทีมง่ายขึ้น เนื่องจาก Git สามารถบันทึกการเปลี่ยนแปลงของ Source code เวอร์ชันล่าสุดได้ และยังสามารถบันทึกลงใน Local Repository ได้ด้วยเช่นกัน ซึ่งจะช่วยให้เราสามารถทำงานแม้จะไม่มีอินเตอร์เน็ตก็ตาม และเมื่อใดก็ตามที่เราต้องการอัปเดต Source code ของเราให้กับเพื่อนร่วมทีมก็สามารถที่จะ Push(นำโค้ดขึ้น) Source code ของเราขึ้นไปเก็บที่ Git Hosting ได้ และเพื่อนของเราก็สามารถที่จะ Pull(ดึงโค้ดลง) โค้ดเวอร์ชันล่าสุดมา Merge ทำให้ Source Code ที่พัฒนาร่วมกันกับคนภายในทีมเป็นเวอร์ชันล่าสุดเสมอ
- Untracked เป็นสถานะที่ Source Code ที่พึ่งเพิ่มเข้ามาใหม่และยังไม่ได้ถูกนำไปเก็บไว้ใน Git
- Working Directory เป็นสถานะที่คล้ายกับการ Modified Source Code คือมีการเปลี่ยนแปลงหรือแก้ไข Source Code นั้นเอง
- Staged เป็นสถานะที่กำลังเตรียมที่จะ Commit Source code เพื่อยืนยันการเปลี่ยนแปลงก่อนที่จะเก็บลงในสถานะ Local Repository
- Local Repository เป็นสถานะที่มีการเก็บบันทึกข้อมูลการเปลี่ยนแปลงของ Source Code ลงไปที่ Git Repository ที่เครื่องตัวเอง
- Remote Repository เป็นสถานะที่มีการเก็บบันทึกข้อมูลการเปลี่ยนแปลงของ Source Code ลงไปที่ Git Repository ที่เป็น Hosting หรือเครื่องเซิร์ฟเวอร์
- Git Config
- Git Init
- Git Status
- Git Add
- Git Commit
- Git Log
- Git Branch
- Git Merge
- Git Push
- Git Fetch
- Git Pull [fetch + merge]
- Git Clone