14 Essential Git Commands for Data Engineers
02-Aug-24
คัมภีร์เทพ IT
See the original english version Click here!
Git เป็นเครื่องมือที่มีประโยชน์สำหรับ Control Version ของการพัฒนา Software และใน Data Engineering มันช่วยให้คุณจัดการและติดตามการเปลี่ยนแปลง Code ของคุณได้ รวมทั้งอำนวยความสะดวกในการทำงานร่วมกัน และบทความนี้ก็เป็น 14 คำสั่ง Git ที่จำเป็นต่อการทำงานของ Data Engineers
ทำไม Git จึงมีความสำคัญสำหรับ Data Engineers
- Version Control: ติดตามการเปลี่ยนแปลงของ Data Processing Scripts, Configurations และ Pipeline Definitions
- Collaboration: ทำงานได้อย่างราบรื่นกับสมาชิกคนอื่น ๆ ในทีมที่ทำงานใน Project เดียวกัน
- Backup และ Recovery: Maintain ประวัติการเปลี่ยนแปลง Code เพื่อเปลี่ยนกลับไปเป็น Version ก่อนหน้าได้ (หากจำเป็น)
- Branching: ทดลองใช้ Features หรือการแก้ไขใหม่ๆ โดยไม่กระทบต่อ Codebase หลัก
มาดูคำสั่ง Git ที่จำเป็นสำหรับ Data Engineers และคนทำงานสาย Data กัน
1. เริ่มต้นสร้าง Repository
หากต้องการเริ่มติดตาม Project ด้วย Git คุณต้องเริ่มต้นสร้าง Git Repository ใหม่
คำอธิบาย: คำสั่งนี้จะสร้าง Git Repository ใหม่ใน Folder ของ Project ของคุณ มันตั้งค่า `.git` Directory ที่ซ่อนอยู่ เพื่อเก็บข้อมูล Version Control ทั้งหมด
ตัวอย่าง:
สิ่งนี้จะสร้าง Directory ใหม่ชื่อ `my-data-project` และเริ่มต้นให้เป็น Git Repository
2. การ Clone Repository
หากคุณต้องการทำงานใน Project ที่มีอยู่แล้ว คุณสามารถ Clone Remote Repository ไปยัง Local Machine ของคุณได้
คำอธิบาย: คำสั่งนี้จะ Copy Repository จาก Remote Server ไปยัง Local System ของคุณ
ตัวอย่าง:
สิ่งนี้จะ Clone Repository จาก URL ที่ต้องการไปยัง Directory ที่ชื่อ `project` บน Local Machine ของคุณ
3. การตรวจสอบ Status
หากต้องการดู State ปัจจุบันของ Working Directory และ Staging Area ของคุณ คุณสามารถใช้คำสั่ง "git status" ได้
คำอธิบาย: คำสั่งนี้แสดงว่า Files ใดได้รับการแก้ไข ซึ่งจะถูกจัดเตรียมสำหรับการ Commit ครั้งถัดไป และ Files ใดไม่ได้ถูกติดตาม (Untracked)
ตัวอย่าง:
นี่จะแสดง Status ของ Files ใน Working Directory ของคุณ
4. การเพิ่ม Changes
ก่อนที่จะ การเปลี่ยนแปลงใด ๆ คุณจำเป็นต้องจัดเตรียม (Stage) การเปลี่ยนแปลงเหล่านั้นโดยใช้คำสั่ง “git add”
คำอธิบาย: คำสั่งนี้จะจัดเตรียมการเปลี่ยนแปลงเพื่อ Commit ในครั้งถัดไป คุณสามารถเพิ่ม Files ที่ต้องการ หรือทั้ง Directories ก็ได้
ตัวอย่าง:
คำสั่งแรกจะเพิ่ม `script.py` File สำหรับคำสั่งที่สองจะเพิ่มทั้ง Directory `data` และคำสั่งที่สามจะเพิ่มการเปลี่ยนแปลงทั้งหมดใน Directory ปัจจุบัน
5. Commit Changes
เมื่อมีการจัดเตรียมการเปลี่ยนแปลงแล้ว คุณสามารถ Commit พวกมันลงใน Repository ได้
คำอธิบาย: ข้อความ Commit ควรอธิบายเพื่อช่วยให้ผู้อื่นเข้าใจว่า มีการเปลี่ยนแปลงอะไรบ้าง
ตัวอย่าง:
คำสั่งนี้จะ Commit การเปลี่ยนแปลงที่จัดเตรียมไว้พร้อมกับข้อความ "Added data cleaning script"
6. การดู Commit History
หากต้องการดู Commit History ให้ใช้คำสั่ง “git log”
คำอธิบาย: คำสั่งนี้แสดง Commit History พร้อมรายละเอียด เช่น Commit ID, Author, Date และ Commit Message
ตัวอย่าง:
นี่จะแสดง Commit History โดยละเอียด หากต้องการแสดงประวัติแบบย่อ ให้ใช้คำสั่ง:
7. การ Create และการ Switch Branches
Branches จะช่วยให้คุณสามารถทำงานกับ Features ใหม่หรือแก้ไขข้อผิดพลาดได้ โดยไม่ส่งผลกระทบต่อ Codebase หลัก
Create Branches:
คำอธิบาย: คำสั่งนี้จะสร้าง Branch ใหม่
ตัวอย่าง:
สิ่งนี้จะสร้าง Branch ชื่อ `feature/data-cleaning`
การ Switch Branches:
คำอธิบาย: คำสั่งนี้จะสลับไปยัง Branch ที่ต้องการ
ตัวอย่าง:
ซึ่งมันจะสลับไปยัง Branch ชื่อ `feature/data-cleaning`
8. การ Merge Branches
เมื่อคุณทำงานใน Branch เสร็จแล้ว คุณสามารถ Merge มันกลับเข้าไปใน Main Branch ได้
คำอธิบาย: คำสั่งนี้จะ Merge การเปลี่ยนแปลงจาก Branch ที่ต้องการเข้าไปยัง Branch ปัจจุบัน
ตัวอย่าง:
ขั้นแรก สลับไปที่ `main` Branch จากนั้นจึง Merge `feature/data-cleaning` Branch รวมเข้าไปใน `main` Branch
9. การแก้ปัญหา Merge Conflicts
บางครั้ง การ Merge Branches อาจทำให้เกิด Conflicts ได้ Git จะทำเครื่องหมาย Conflicts ใน Files ที่ได้รับผลกระทบ คุณต้องแก้ไขมันด้วยตนเอง จากนั้นจึงเพิ่ม Files และ Commit การเปลี่ยนแปลง
ขั้นตอนในการแก้ปัญหา Merge Conflicts
- แก้ไข Files ที่กำลังเกิด Conflict เพื่อทำการแก้ไข Conflicts
- ทำการเพิ่ม Files ที่แก้ไขแล้ว:
Commit การ Merge:
10. การ Push Changes
หากต้องการแชร์การเปลี่ยนแปลงของคุณกับผู้อื่น ให้ Push Commits ของคุณไปยัง Remote Repository
คำอธิบาย: คำสั่งนี้จะ Upload Local Branch Commit ของคุณไปยัง Remote Repository
ตัวอย่าง:
สิ่งนี้จะ Push `main` Branch Commits ของคุณไปยัง `origin` Remote Repository
11. การ Pull Changes
หากต้องการ Fetch และ Merge การเปลี่ยนแปลงจาก Remote Repository ไปยัง Local Branch ของคุณ ให้ใช้:
คำอธิบาย: คำสั่งนี้จะ Fetch และ Merge การเปลี่ยนแปลงจาก Remote Repository ไปยัง Branch ปัจจุบันของคุณ
ตัวอย่าง:
สิ่งนี้จะ Fetch และ Merge การเปลี่ยนแปลงจาก `origin` Remote Repository
12. การดูความแตกต่าง
หากต้องการดูการเปลี่ยนแปลงที่เกิดขึ้นกับ File ให้ใช้คำสั่ง “git diff”
คำอธิบาย: คำสั่งนี้แสดงความแตกต่างระหว่าง Working Directory กับ Staging Area
ตัวอย่าง:
นี่แสดงให้เห็นถึงความแตกต่างใน `script.py` หากต้องการดูการเปลี่ยนแปลงระหว่าง Commits ให้ใช้:
13. Stashing Changes
หากคุณต้องการเปลี่ยน Branches แต่มีการเปลี่ยนแปลงที่ยังไม่ได้ Commit คุณสามารถเก็บมันไว้ชั่วคราวก่อนได้
คำอธิบาย: คำสั่งนี้จะบันทึกการเปลี่ยนแปลงของคุณไว้ชั่วคราวก่อน และทำให้ Working Directory กลับไปยังCommit ครั้งล่าสุดได้
ตัวอย่าง:
หากต้องการใช้การเปลี่ยนแปลงที่ถูกเก็บไว้ ในภายหลัง ให้ใช้:
14. การ Delete Branches
เมื่อคุณไม่ต้องการ Branch แล้ว คุณสามารถลบมันออกไปได้
คำอธิบาย: คำสั่งนี้จะลบ Branch ที่ต้องการ
ตัวอย่าง:
หากต้องการลบ Branch โดยไม่คำนึงถึงสถานะ ให้ใช้:
ที่มา: https://medium.com/
รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert
อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ
บทความล่าสุด