รู้จักกับ Git (ฉบับ Full Introduction) สำหรับมือใหม่

รู้จักกับ Git (ฉบับ Full Introduction)

Git เป็นเครื่องมือสำคัญสำหรับนักพัฒนาโปรแกรมทุกคน ไม่ว่าคุณจะเป็นมือใหม่หรือผู้เชี่ยวชาญ Git ช่วยให้คุณจัดการโค้ดได้อย่างมีประสิทธิภาพ ป้องกันความผิดพลาด และทำงานร่วมกับผู้อื่นได้อย่างราบรื่น บทความนี้จะพาคุณไปทำความรู้จักกับ Git ตั้งแต่พื้นฐานจนถึงการใช้งานขั้นสูง พร้อมตัวอย่างและคำแนะนำที่เข้าใจง่าย

ปัญหาเรื่องการจัดการ Source Code

การจัดการ Source Code อาจกลายเป็นเรื่องยุ่งยากเมื่อคุณทำงานคนเดียวหรือทำงานร่วมกับทีม ปัญหาที่พบบ่อย ได้แก่ การส่งไฟล์ผ่าน zip, USB หรือการจัดการโค้ดหลายเวอร์ชันพร้อมกัน ซึ่งอาจนำไปสู่ความสับสนและข้อผิดพลาด

การส่งไฟล์ผ่าน zip, USB

การส่งไฟล์โค้ดผ่าน zip หรือ USB เป็นวิธีที่ล้าสมัยและไม่เหมาะสมสำหรับการจัดการ Source Code ในยุคปัจจุบัน วิธีนี้ทำให้ยากต่อการติดตามการเปลี่ยนแปลง การทำงานร่วมกัน และการย้อนกลับไปยังเวอร์ชันก่อนหน้า

ปัญหาเมื่อทำงานร่วมกัน

เมื่อทำงานร่วมกับทีม การจัดการโค้ดจะซับซ้อนขึ้น ปัญหาเช่น การแก้ไขโค้ดพร้อมกัน การรวมโค้ด และการจัดการความขัดแย้ง (conflict) เป็นสิ่งที่หลีกเลี่ยงไม่ได้หากไม่มีเครื่องมือที่เหมาะสม

Git คืออะไร

Git คือระบบควบคุมเวอร์ชัน (Version Control System) ที่ช่วยให้คุณติดตามการเปลี่ยนแปลงของโค้ดได้อย่างมีประสิทธิภาพ Git ช่วยให้คุณสามารถบันทึกการเปลี่ยนแปลงในแต่ละขั้นตอน สร้างเวอร์ชันต่างๆ และทำงานร่วมกับผู้อื่นได้อย่างง่ายดาย

เครื่องมือจัดการ Code และ Version Control

Git เป็นเครื่องมือที่ออกแบบมาเพื่อจัดการ Source Code และควบคุมเวอร์ชัน Git ช่วยให้คุณสามารถติดตามการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นกับโค้ดของคุณ

เก็บทุกการเปลี่ยนแปลง

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

การทำ Stamp ประวัติ

Git ช่วยให้คุณสามารถทำ “Stamp” หรือบันทึกประวัติการเปลี่ยนแปลงในแต่ละขั้นตอนได้ คุณสามารถใส่คำอธิบายเกี่ยวกับการเปลี่ยนแปลงแต่ละครั้ง เพื่อให้เข้าใจได้ง่ายขึ้น

การติดตั้ง Git

การติดตั้ง Git เป็นขั้นตอนแรกในการเริ่มต้นใช้งาน Git คุณสามารถดาวน์โหลดและติดตั้ง Git ได้ง่ายๆ บนระบบปฏิบัติการต่างๆ

ดาวน์โหลด Git

คุณสามารถดาวน์โหลด Git ได้จากเว็บไซต์ Git SCM (git-scm.com) เลือกเวอร์ชันที่เหมาะสมกับระบบปฏิบัติการของคุณ

การทดสอบการติดตั้ง

หลังจากติดตั้ง Git เสร็จสิ้น คุณสามารถทดสอบการติดตั้งได้โดยเปิด Command Line หรือ Terminal แล้วพิมพ์คำสั่ง “git –version” หาก Git ติดตั้งสำเร็จ คุณจะเห็นเวอร์ชันของ Git ที่ติดตั้ง

Git Command Line

Git Command Line เป็นวิธีหลักในการใช้งาน Git คุณสามารถใช้คำสั่งต่างๆ เพื่อจัดการโค้ดของคุณ

การใช้งานผ่าน Command Line

การใช้งาน Git ผ่าน Command Line เป็นวิธีที่ทรงพลังและยืดหยุ่นที่สุด คุณสามารถใช้คำสั่งต่างๆ เพื่อควบคุม Git ได้อย่างเต็มที่

การใช้ UI (แนะนำ)

นอกจาก Command Line แล้ว ยังมี UI (User Interface) หรือโปรแกรม Git ที่ช่วยให้การใช้งาน Git ง่ายขึ้นสำหรับผู้เริ่มต้น โปรแกรมเหล่านี้มีอินเทอร์เฟซแบบกราฟิกที่ใช้งานง่าย

Git Basic Command

Git Basic Command เป็นคำสั่งพื้นฐานที่คุณต้องรู้เพื่อเริ่มต้นใช้งาน Git

Git Init

คำสั่ง “git init” ใช้เพื่อเริ่มต้น Git repository ในโฟลเดอร์ที่คุณต้องการ Git จะสร้างโฟลเดอร์ “.git” ขึ้นมาในโฟลเดอร์นั้น ซึ่งเป็นที่เก็บข้อมูลทั้งหมดของ Git

Git Add

คำสั่ง “git add” ใช้เพื่อเพิ่มไฟล์ที่คุณต้องการติดตามการเปลี่ยนแปลงไปยัง staging area คุณสามารถเพิ่มไฟล์ทีละไฟล์ หรือเพิ่มไฟล์ทั้งหมดในครั้งเดียว

Git Commit

คำสั่ง “git commit” ใช้เพื่อบันทึกการเปลี่ยนแปลงที่คุณได้ทำไปแล้วใน staging area คุณต้องใส่ข้อความอธิบาย (commit message) เกี่ยวกับการเปลี่ยนแปลงที่คุณทำ

Git Status

คำสั่ง “git status” ใช้เพื่อดูสถานะของ Git repository คุณสามารถดูไฟล์ที่ถูกเปลี่ยนแปลง ไฟล์ที่อยู่ใน staging area และข้อมูลอื่นๆ ที่เกี่ยวข้อง

Git Branch

Git Branch เป็นคุณสมบัติที่สำคัญของ Git ที่ช่วยให้คุณทำงานหลายอย่างพร้อมกันได้โดยไม่กระทบต่อโค้ดหลัก

การสร้าง Branch

คุณสามารถสร้าง branch ใหม่จาก branch หลัก (โดยปกติคือ “main” หรือ “master”) เพื่อพัฒนาคุณสมบัติใหม่ แก้ไขข้อผิดพลาด หรือทดลองสิ่งต่างๆ

Git Branch

คำสั่ง “git branch” ใช้เพื่อจัดการ branch คุณสามารถดูรายการ branch สร้าง branch ใหม่ หรือลบ branch ได้

Git Check Out

คำสั่ง “git checkout” ใช้เพื่อสลับไปยัง branch อื่น คุณสามารถสลับระหว่าง branch ต่างๆ เพื่อทำงานในแต่ละ branch ได้

การทำงานร่วมกันหลายคน

Git ช่วยให้คุณและทีมของคุณทำงานร่วมกันได้อย่างมีประสิทธิภาพ

ปัญหาการทำงานบน Main

การทำงานโดยตรงบน branch “main” (หรือ “master”) อาจนำไปสู่ปัญหา เช่น การขัดแย้งของโค้ด (conflict) และความไม่เสถียรของโค้ด

การใช้ Branch

การใช้ branch ช่วยให้คุณและทีมของคุณทำงานแยกกันได้ คุณสามารถสร้าง branch สำหรับแต่ละคุณสมบัติ แก้ไขข้อผิดพลาด หรือทดลองสิ่งต่างๆ

Git Merge

คำสั่ง “git merge” ใช้เพื่อรวมการเปลี่ยนแปลงจาก branch อื่นเข้ากับ branch ปัจจุบันของคุณ

Git Remote

Git Remote คือการเชื่อมต่อกับ repository ที่อยู่บนเซิร์ฟเวอร์ เช่น GitHub, GitLab หรือ Bitbucket

Git Remote

คำสั่ง “git remote” ใช้เพื่อจัดการ remote repository คุณสามารถเพิ่ม ลบ หรือดู remote repository ได้

Git Push

คำสั่ง “git push” ใช้เพื่อส่งการเปลี่ยนแปลงของคุณไปยัง remote repository

Git Pull

คำสั่ง “git pull” ใช้เพื่อดึงการเปลี่ยนแปลงจาก remote repository มายัง local repository ของคุณ

การ Clone Repository

การ Clone Repository คือการคัดลอก repository จาก remote repository มายังเครื่องของคุณ

Git Clone

คำสั่ง “git clone” ใช้เพื่อ clone repository จาก remote repository มายังเครื่องของคุณ คุณต้องระบุ URL ของ remote repository

การดึงข้อมูลจาก Remote

หลังจาก clone repository แล้ว คุณสามารถดึงข้อมูลจาก remote repository ได้โดยใช้คำสั่ง “git pull”

Git Push และ Pull

Git Push และ Pull เป็นคำสั่งที่ใช้ในการแลกเปลี่ยนข้อมูลระหว่าง local repository และ remote repository

Git Push

คำสั่ง “git push” ใช้เพื่อส่งการเปลี่ยนแปลงของคุณจาก local repository ไปยัง remote repository

Git Pull

คำสั่ง “git pull” ใช้เพื่อดึงการเปลี่ยนแปลงจาก remote repository มายัง local repository ของคุณ

Git Merge

Git Merge คือการรวมการเปลี่ยนแปลงจาก branch อื่นเข้ากับ branch ปัจจุบันของคุณ

การ Merge

การ merge เป็นกระบวนการรวมโค้ดจาก branch อื่นเข้ากับ branch ปัจจุบันของคุณ

Git Conflict

Git Conflict คือสถานการณ์ที่ Git ไม่สามารถรวมการเปลี่ยนแปลงได้โดยอัตโนมัติ คุณต้องแก้ไข conflict ด้วยตนเอง

การแก้ไข Conflict

เมื่อเกิด conflict คุณต้องแก้ไขไฟล์ที่มี conflict โดยเลือกการเปลี่ยนแปลงที่คุณต้องการเก็บไว้ แล้ว commit การเปลี่ยนแปลง

Git Conflict

Git Conflict เกิดขึ้นเมื่อ Git ไม่สามารถรวมการเปลี่ยนแปลงจาก branch ต่างๆ ได้โดยอัตโนมัติ

สาเหตุของ Conflict

Conflict เกิดขึ้นเมื่อมีการเปลี่ยนแปลงในบรรทัดเดียวกันของไฟล์ใน branch ต่างๆ หรือเมื่อมีการลบไฟล์ใน branch หนึ่ง และมีการแก้ไขไฟล์นั้นใน branch อื่น

การแก้ไข Conflict

คุณต้องแก้ไขไฟล์ที่มี conflict โดยเลือกการเปลี่ยนแปลงที่คุณต้องการเก็บไว้ แล้ว commit การเปลี่ยนแปลง

Git Remote (GitHub)

GitHub เป็นแพลตฟอร์มยอดนิยมสำหรับการเก็บ Git repository

การสร้าง Repository บน GitHub

คุณสามารถสร้าง repository บน GitHub เพื่อเก็บโค้ดของคุณ

การเชื่อมต่อกับ Remote

คุณสามารถเชื่อมต่อ local repository ของคุณกับ remote repository บน GitHub โดยใช้คำสั่ง “git remote add”

Git Advanced

Git Advanced เป็นคำสั่ง Git ที่ช่วยให้คุณจัดการโค้ดได้อย่างมีประสิทธิภาพมากขึ้น

Git Check Out

คำสั่ง “git checkout” ใช้เพื่อสลับไปยัง branch อื่น หรือย้อนกลับไปยัง commit ก่อนหน้า

Git Reset

คำสั่ง “git reset” ใช้เพื่อย้อนกลับไปยัง commit ก่อนหน้า หรือลบ commit

Git Reverse

คำสั่ง “git revert” ใช้เพื่อสร้าง commit ใหม่ที่ยกเลิกการเปลี่ยนแปลงที่ทำใน commit ก่อนหน้า

Git Cherry Pick

คำสั่ง “git cherry-pick” ใช้เพื่อเลือก commit จาก branch อื่นมายัง branch ปัจจุบันของคุณ

Git Rebase

คำสั่ง “git rebase” ใช้เพื่อเปลี่ยน base branch ของ branch ปัจจุบัน

Git Squash

คำสั่ง “git squash” ใช้เพื่อรวม commit หลายอันเป็น commit เดียว

Git Check Out

Git Check Out เป็นคำสั่งที่ใช้ในการสลับไปยัง branch อื่น หรือย้อนกลับไปยัง commit ก่อนหน้า

การย้อนเวลากลับไป

คุณสามารถใช้ “git checkout” เพื่อย้อนกลับไปยัง commit ก่อนหน้าได้ โดยระบุ hash ของ commit นั้น

การสร้าง Branch ใหม่จาก Commit เก่า

คุณสามารถใช้ “git checkout” เพื่อสร้าง branch ใหม่จาก commit เก่าได้

Git Reset

Git Reset เป็นคำสั่งที่ใช้ในการย้อนกลับไปยัง commit ก่อนหน้า หรือลบ commit

Git Reset

คำสั่ง “git reset” มีหลาย option ที่ช่วยให้คุณสามารถย้อนกลับไปยัง commit ก่อนหน้า หรือลบ commit ได้

Git Reverse

คำสั่ง “git revert” ใช้เพื่อสร้าง commit ใหม่ที่ยกเลิกการเปลี่ยนแปลงที่ทำใน commit ก่อนหน้า

Git Reverse

Git Reverse เป็นคำสั่งที่ใช้ในการสร้าง commit ใหม่ที่ยกเลิกการเปลี่ยนแปลงที่ทำใน commit ก่อนหน้า

การสร้าง Commit ใหม่เพื่อ Reverse Commit เก่า

คุณสามารถใช้ “git revert” เพื่อสร้าง commit ใหม่ที่ยกเลิกการเปลี่ยนแปลงที่ทำใน commit ก่อนหน้า

Git Cherry Pick

Git Cherry Pick เป็นคำสั่งที่ใช้ในการเลือก commit จาก branch อื่นมายัง branch ปัจจุบันของคุณ

การเลือก Commit จาก Branch อื่น

คุณสามารถใช้ “git cherry-pick” เพื่อเลือก commit จาก branch อื่นมายัง branch ปัจจุบันของคุณ โดยระบุ hash ของ commit นั้น

Git Rebase

Git Rebase เป็นคำสั่งที่ใช้ในการเปลี่ยน base branch ของ branch ปัจจุบัน

การเปลี่ยน Base Branch

คุณสามารถใช้ “git rebase” เพื่อเปลี่ยน base branch ของ branch ปัจจุบันได้

Git Squash

Git Squash เป็นคำสั่งที่ใช้ในการรวม commit หลายอันเป็น commit เดียว

การรวม Commit หลายอันเป็น Commit เดียว

คุณสามารถใช้ “git squash” เพื่อรวม commit หลายอันเป็น commit เดียว เพื่อให้ประวัติการเปลี่ยนแปลงของคุณดูสะอาดและง่ายต่อการติดตาม


💬 ปรึกษาการเงินฟรีกับผู้เชี่ยวชาญ คลิกเพื่อแอดไลน์


👉 แอดไลน์เพื่อปรึกษาฟรี


หรือสแกน QR เพื่อแอด

QR Code Line