👶Git พื้นฐาน
Last updated
Last updated
เวลาที่เราเขียนโค้ดเรามักจะเจอปัญหาว่า จะแชร์งานเพื่อทำงานร่วมกับเพื่อนๆยังไง จะเอา Thumbdrive ไปจิ้มเพื่อแชร์ให้กันก็กลัวติดไวรัส หรือจะตั้ง NAT ขึ้นมาก็ดูจะไม่สะดวก สุดท้ายก็เลยเอางานขึ้น OneDrive, Google Drive, Dropbox ก็พอจะใช้งานได้ระดับนึง แต่มันก็ยังไม่สะดวกอยู่ดี
แล้วปรกติบริษัทต่างๆที่เขาทำงานร่วมกับกับคนเป็นร้อยๆคน มีไฟล์เป็นหมื่นๆไฟล์ เขาทำงานร่วมกันได้ยังไงกันนะ ?
เข้าใช้โปรแกรมพวก Version control เข้ามาช่วยในการจัดการแชร์ไฟล์เพื่อทำงานร่วมกับเป็นทีมยังไงล่ะ ดังนั้นในคอร์สนี้เราจะมาพูดถึงตัวที่ทั่วโลกนิยมใช้กันนั่นก็คือ Git นั่นเองขอรับบบ ดังนั้นไปดูกันเลยว่ามันทำอะไรได้บ้าง และมันจะช่วยลดงานของเหล่า developer อย่างเราๆได้ยังไงกันบ้าง
Tortoise Git (สำหรับคนที่ต้องการ GUI)
Clone - เป็นการดึง source code ตัวล่าสุดจากเซิฟเวอร์มาไว้ในเครื่องของเรา เพื่อที่เราจะได้สามารถทำงานต่อกับเพื่อนๆในทีมได้
Add - เป็นการนำไฟล์ที่ถูกแก้ไขเข้าไปยัง git state เพื่อเป็นการระบุว่าไฟล์ไหนบ้างที่เราสนใจ เพื่อเตรียมไปใช้ในการ commit งานขั้นต่อไป ซึ่งในวีดีโอจะเป็นขั้นตอนที่เราจะ commit แล้วเลือกไฟล์ที่เราสนใจ เพราะใน Git GUI มันทำ 2 คำสั่งเลยตอนที่ commit
Commit - เป็นการสั่งบันทึกสถานะ source code ที่อยู่ใน state ของเครื่องเราว่าเราพอใจในจุดนี้แล้ว ทำให้เราสามารถย้อนกลับมาที่จุดที่เรา commit นี้ในภายหลังได้
Push - เป็นการนำ source code ที่อยู่ในเครื่องเรา ส่งกลับไปยังเซิฟเวอร์ เพื่อทำการอัพเดทเซิฟเวอร์ว่ามี source code ใหม่มานะ (ถ้า commit ตรงกันอยู่แล้วมันจะไม่เกิดไรขึ้น)
Pull - เป็นการดึงข้อมูลจากเซิฟเวอร์เข้ามาอัพเดทที่เครื่องของเรา เพื่อให้เราได้ source code ที่เป็นตัวล่าสุดจากฝั่งเซิฟเวอร์
เพียบเลยในการทำงานกับ Git เช่นการทำ Branching เพื่อแยกงานออกไปทำไม่ให้ไปชนกับใคร การทำ Cherry-pick เพื่อเลือกเอาเฉพาะส่วนที่เราสนใจออกมา การทำ Sub module, Merging, Re-base โอ้ยขี้เกียจไล่ เดี๋ยวถ้าว่างจะกลับมาพูดในเรื่องนี้อีกทีละกัน แต่ง่ายๆคือเพื่อนๆสามารถเข้าไปเรียนรู้ได้ด้วยตัวเองจากคอร์สอันนี้เลย ฟรีแถมคุณภาพดีเยี่ยมด้วย กด้ได้เลยจากลิงค์ด้านล่างนี้
แนะนำให้อ่าน ส่วนสำหรับเพื่อนๆที่สนใจอยากจะใช้งาน Git Repository แบบอื่นๆนอกจาก GitHub ก็สามารถไปลองศึกษาต่อได้จากลิงค์ด้านล่างตัวนี้ ซึ่งเป็นส่วนหนึ่งของคอร์ส DevOps ครัช Azure DevOps - เล่นกับ Repository