6 Git Commands ที่ Data Scientists ควรรู้จักไว้

11-ก.ย.-20

คัมภีร์เทพ IT

หากคุณเป็น Data Scientist ที่ยังใหม่กับการใช้ Version Control หรือ Git อยู่ บทความนี้จะมาแนะนำ 6 Git Commands ที่ Data Scientists ควรรู้จักไว้ ซึ่ง Version Control จะทำให้คุณสามารถย้อนกลับไปดู History ของ Project และดูว่ามีอะไรเปลี่ยนแปลงระหว่าง Version ทั้ง 2 ได้ มันมีความสำคัญอย่างยิ่งในการ Training Model ใหม่และการ Tune Hyperparameters

บทความนี้จะไม่ขอพูดถึงวิธีการติดตั้ง Git เนื่องจากมี Resources ดี ๆ มากมายที่บอกวิธีการทำเช่นนี้ อย่าลืม Set up SSH Keys ด้วย และจะถือว่าคุณติดตั้ง Git และพร้อมใช้งานแล้ว คุณควรเห็นสิ่งต่อไปนี้หากคุณพิมพ์ git ใน Command Line บน Mac/Linux หรือ GitBash หากคุณใช้ Windows

1. Init

เราจะเริ่มต้นด้วยคำสั่งที่เป็นพื้นฐานที่สุดอย่างคำสั่ง init นี่คือการเริ่มต้น Git Project ซึ่งเป็นวิธีง่าย ๆ ที่จะบอกว่า เป็นการเพิ่ม Files ที่ Git ต้องการไปยัง Root ของ Folder ที่คุณอยู่ เพียงพิมพ์ cd ลงใน Directory ของ Project ของคุณ จากนั้นให้พิมพ์ดังต่อไปนี้:

จากนั้น คุณจะได้รับ Message เพื่อแจ้งว่า Project ของคุณพร้อมที่จะใช้งานแล้ว

คุณสามารถทำสิ่งนี้เพียงครั้งเดียวต่อ Project

2. Remote Add

ต้องขอบคุณคำสั่ง init เพราะตอนนี้คุณมี repo อยู่ในเครื่องสำหรับ Project ของคุณแล้ว ในขณะที่คุณสามารถทำทุกอย่างที่จำเป็นเพื่อให้ Version Control ของ Project ในเครื่องของคุณทำงานได้อย่างถูกต้อง คุณจะต้องสร้าง Online Project เพื่อจะได้ใช้ประโยชน์สูงสุดจาก Git ซึ่งเชื่อว่า Developer ส่วนใหญ่คงจะมี GitHub Account กันแล้ว แม้ว่าจะมีทางเลือกอื่น ๆ เช่น BitBucket และ GitLab แต่ GitHub ดูจะเป็นที่รู้จักได้รับความนิยมมากเป็นอันดับต้น ๆ ซึ่งหลังจากที่ Microsoft ได้สิทธิ์ครอบครองแล้ว พวกเขาก็ทำให้ Private Repositories สามารถใช้งานได้ฟรี แต่จริง ๆ แล้ว Services ทั้งหมดนี้ จะเหมือนกันสำหรับทุกคนที่เพิ่งเริ่มต้นใช้

หลังจากที่คุณเลือก Services ที่คุณต้องการใช้แล้ว ก็ให้สร้าง Project ใหม่ขึ้นมา

เมื่อคุณสร้าง Project คุณจะได้รับ Custom URL ซึ่งในกรณีนี้ สิ่งที่สร้างขึ้นสำหรับ Project นี้ ก็คือ:

https://github.com/jessefreeman/GitExample.git

สิ่งที่เราต้องทำตอนนี้คือ ทำการ Connect  Project ในเครื่องของเรากับ Online Project ที่เราสร้างขึ้น ในการทำสิ่งนี้คุณจะใช้คำสั่งดังต่อไปนี้:

คุณยังสามารถ Connect  ผ่าน SSH Path ได้ ซึ่งขึ้นอยู่กับว่า Git Services ของคุณได้จัดเตรียมอะไรไว้ให้คุณบ้าง

3. Add

ณ ตอนนี้ Project ของคุณพร้อมที่จะ Track Version ในเครื่องของคุณแล้ว จกานั้นให้ทำการเพิ่ม ReadMe.txt File หรืออะไรก็ตามลงใน Folder และโปรดทราบไว้ว่า Git จะไม่สนใจ Folder ที่ว่างเปล่า เมื่อคุณพร้อมแล้ว คุณจะต้องเพิ่มการเปลี่ยนแปลงใน Repository ซึ่งการ Stage ถือเป็นวิธีที่จะบอกว่า Git จะทำการ Track File ที่ต้องการจนกว่าคุณจะพร้อม Save Version ของพวกมัน

ในการเพิ่ม Files ให้คุณพิมพ์คำสั่งดังต่อไปนี้:

ในขณะที่ คุณสามารถระบุ Files ตามชื่อหลังจาก add แล้ว สัญลักษณ์ . จะเป็น Wildcards ซึ่งจะทำการรวม Files ต่าง ๆ ที่มีการเปลี่ยนแปลงตั้งแต่การ Commit ครั้งล่าสุดให้โดยอัตโนมัติ

4. Status

เมื่อใดก็ตาม คุณอาจจะอยากได้ List ของ Files ต่าง ๆ ใน Git Project และดูว่ามันถูก Stage แล้วหรือไม่ คุณสามารถทำได้โดยพิมพ์คำสั่งดังต่อไปนี้:

สิ่งนี้จะแสดง List ของ Files ทั้งหมดที่ Git เห็นใน Directory

คุณสามารถเห็น Files ที่ปัจจุบันยังไม่ได้ถูก add เข้าไป เป็นสีแดง ส่วน Files ที่พร้อมจะถูก Save จะแสดงเป็นสีเขียว โดย File Status List มีประโยชน์อย่างยิ่งเมื่อคุณต้องการดูทุกอย่างที่มีการ Stage ในปัจจุบัน ก่อนที่จะ Save การเปลี่ยนแปลง

5. Commit

เมื่อคุณทำการ Stage Files ของคุณแล้ว คุณจะต้อง Save Version ของ Files เหล่านั้น เราเรียกสิ่งนี้ว่าการ Commit โดย Git จะนำ Files ที่คุณ Add ไว้ก่อนหน้านี้ เอาไปเปรียบเทียบกับ Version ล่าสุด จากนั้นจะ Save Deltas หรือความแตกต่างไว้ในFolder พิเศษที่ชื่อว่า .git ซึ่งถูกซ่อนอยู่ที่ Root ของ Project ของคุณ

หากคุณต้องการ Save การเปลี่ยนแปลง ให้พิมพ์คำสั่งต่อไปนี้ใน Command Line:

นี่อาจเป็นคำสั่งที่ซับซ้อนที่สุดที่เราเคยใช้มา ถ้าเราดูในแต่ละส่วน เราจะเรียกว่าการ Commit และ -m ก็หมายถึง การเพิ่มMessage ในท้ายที่สุดคุณจะใส่ Commit Message ลงในเครื่องหมาย “ ” ด้วยวิธีนี้จะช่วยให้คุณสามารถย้อนกลับไปดู Commit Log ในภายหลัง เพื่อจะได้ทราบถึงสิ่งที่คุณได้ทำการเปลี่ยนแปลงไป

หากคุณใช้ GitHub อยู่ มีบาง Features ที่น่าสนใจที่คุณสามารถใช้เมื่อคุณ Commit Code ของคุณ คุณสามารถใช้ Issues Channel ในการ Track Tasks ต่าง ๆ ที่จะต้องทำให้เสร็จใน Project ของคุณ แต่ละ Issues จะมีหมายเลข ID ที่ไม่ซ้ำกัน และคุณสามารถ Link กับพวกมันได้โดยการอ้างอิงถึงใน Comment ของคุณ ได้ดังนี้:

GitHub จะเพิ่ม Link จาก Commit ของคุณไปยัง Issue ให้โดยอัตโนมัติ มันเป็นวิธีที่ดีในการ Organize ไปด้วยในขณะที่คุณกำลังทำงาน

6. Push

ขั้นตอนสุดท้ายใน Process นี้ก็คือ การ Push Commit ทั้งหมดของคุณไปยัง Remote Repository บน GitHub ซึ่งจะว่าไปแล้ว Git มีความโดดเด่นตรงที่ มันช่วยให้คุณทำงานในเครื่องได้จนกว่าคุณจะพร้อมที่จะ Add มันกลับไปที่ Main Repository นี่คือสิ่งที่ช่วยให้คนในทีมสามารถทำงานบน Computer ของพวกเขาได้อย่างมีประสิทธิภาพและ Merge ทุกอย่างกลับไปที่ Project เดียว

จำได้ไหมว่าก่อนหน้านี้ เราได้ Link Project ในเครื่องของเรากับ Online Project ไปตอนไหน? ตอนนี้เมื่อคุณบอกให้ Git ทำการ Push การเปลี่ยนแปลง พวกมันจะถูก Copy และถูก Merge เข้ากับ Main Project สิ่งที่คุณต้องทำก็คือ ให้พิมพ์คำสั่งต่อไปนี้ลงใน Command Line:

--all ก็คล้ายกับ . Wildcard ที่เราใช้ก่อนหน้านี้เมื่อทำการ Stage File ของเรา Flag นี้เป็นการบอกให้ Git ทำการ Push Commit ล่าสุดทั้งหมดไปยัง Default Origin ซึ่งเป็นสิ่งที่เรากำหนดด้วยคำสั่ง remote add

สรุป

โดยสรุปแล้ว นี่คือ 6 Commands ที่สำคัญสำหรับการใช้งาน Git:

  • init : สร้าง Project ใหม่
  • remote add origin : Link Project ในเครื่องกับ Online Project
  • add : เพิ่ม Files เข้าไปเพื่อทำการ Track
  • status : แสดง List ของ Files ใน Project ในเครื่อง
  • Commit : Save การเปลี่ยนแปลงใน Files เหล่านั้น
  • Push : Copy การเปลี่ยนแปลงเหล่านั้นไปยัง Online Project

ตอนนี้คุณสามารถทำขั้นตอนที่ 3 – 6 เพื่อ Save และ Push การเปลี่ยนแปลงที่คุณได้ทำลงไป แนะนำให้คุณ Commit เมื่อคุณรู้ว่าจะไม่เปลี่ยนแปลงอะไรอีกแล้ว ไม่มีการจำกัดจำนวนการ Commit ที่คุณต้องการจะทำ แม้ว่าคุณอาจจำเป็นต้อง Clean Github Repo เป็นครั้งคราวหากคุณมีการเปลี่ยนแปลงเป็นจำนวนมาก

ข้อสุดท้ายโปรดทราบว่า Git ต้องใช้พยายามอย่างมากในการจัดเก็บ Binary Files ที่มีขนาดใหญ่ซึ่งเป็นอีกสาเหตุหนึ่งที่ต้องใช้ .gitignore File โดย Training Data เป็นจำนวนมากของคุณ อย่าง Images, Video หรืออะไรก็ตามที่มีขนาดมากกว่า 50 Megs ก็อาจทำให้เกิดปัญหาได้ GitHub มีข้อจำกัดพอสมควรสำหรับ File ที่มีขนาดใหญ่ และหากคุณเผลอ Commit ไปโดยไม่ได้ตั้งใจ คุณอาจต้องใช้ขั้นตอนเพิ่มเติมอีกนิดหน่อยในการ Undo การเปลี่ยนแปลง โดยเฉพาะอย่างยิ่งถ้าคุณยังเป็นมือใหม่เพิ่งเริ่มใช้ Git หรือ Command Line รวมทั้งขอแนะนำให้คุณ Back up Files เหล่านั้นไว้ใน Version Control System อื่น ๆ เผื่อไว้ด้วย

ที่มา:  https://towardsdatascience.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

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