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 เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด