Skip to main content
0
Back-End DeveloperDeveloper ToolsDevInitGithubGitHubGitLab

ทำความรู้จักกับ git แบบ”ง๊ายง่าย”ฉบับโมเดิร์น

” สวัสดีครับ นี่อาจเป็น blog เเรกที่ผมเขียนเเละครั้งสุดท้าย 😂😂 โดยในบทความนี้ผมตั้งใจว่าจะพยายามให้ได้ความรู้เเละสนุก ถ้าเกิดผิดพลาดประการไหนก็ขอโทษด้วยนะครับ…. “

Git คืออะไรวะ? ตำนานเล่าว่า… 🙈🙈

” หึๆ เตรียมพร้อมไหมสำหรับการผจญภัยในโลกของ Git แบบง่ายๆ สไตล์สำหรับมือใหม่ฉบับตลกร้ายนี้!
เอาละเรามาเริ่มต้นกันเลยดีกว่าเพื่อไม่ให้เป็นการเสียเวลอ เเฮ่…เสียเวลา ถูกเเล้ว!!!😂✅ สำหรับผมถ้าจะให้พูดง่ายๆ ที่ผมเข้าใจคือ Git เป็นซอฟต์แวร์จัดการรหัสที่ถูกสร้างขึ้นโดยจอมเวทย์ผู้ยิ่งใหญ่ ลีนัส ทอร์วัลด์ส (Linus Torvalds) เพื่อช่วยให้โปรแกรมเมอร์จัดการโค้ดได้ง่ายขึ้น ด้วยพลังวิเศษของมัน! เหล่าพ่อหมดตัวน้อยทั้งหลายเตรียมพร้อมไหม!!!
สำหรับการผจญภัยในโลกของ Git แบบง่ายๆ สไตล์สำหรับมือใหม่ฉบับตลกร้ายนี้ เเล้วหรือยัง?! “

🚩ทำไมต้องมี Git เพื่อทำ Version Control ?!

เเน่นอนจากที่จอมเวทย์ผู้ยิ่งใหญ่ ลีนัส ทอร์วัลด์ส (Linus Torvalds) ได้กล่าวมาเบื้องต้น!!! การเขียนโค้ดไม่ใช่เรื่องง่ายเสมอไป บางทีต้องแก้ไขหลายรอบ เพิ่มฟีเจอร์ใหม่ๆ หรือมีหลายคนทำงานร่วมกัน การมี Version Control ในระบบจึงจำเป็นเปรียบดั่งสงครามต้องมียุทธวิธีที่แน่นอน Git จึงเป็นนินจาผู้พิทักษ์แผ่นดิน 🥷🥷โค้ดที่จะคอยจดบันทึก ควบคุม และประสานงานการเปลี่ยนแปลงทุกอย่าง ไม่ว่าจะเป็นการแก้ไขเล็กๆ น้อยๆ หรือการปฏิวัติครั้งยิ่งใหญ่ไปจนถึงการรวมกำลังกับเหล่านินจาคนอื่นๆ

Reference (https://towardsdatascience.com/version-control-101-definition-and-benefits-6fd7ad49e5f1)

🚩การติดตั้ง Git อย่างไม่ตายแน่!

เตรียมตัวให้พร้อม จงเปิดเว็บไซต์ https://git-scm.com แล้วคลิกปุ่มดาวน์โหลดสำหรับระบบปฏิบัติการของคุณไม่ว่าจะเป็น Windows หรือ ผู้ใช้ macOS และ Linux แล้วติดตั้งไปเถอะ! หากติดปัญหาอาจต้องร่ายมนต์คาถาบ้าง แต่ไม่ต้องห่วง มีกูรูให้ความช่วยเหลืออยู่เสมอ 🕵🎓

🔍 ให้เหล่าพ่อหมดตัวน้อยของจอมเวทย์ผู้ยิ่งใหญ่ ลีนัส ทอร์วัลด์ส (Linus Torvalds) คลิกปุ่มดาวน์โหลด ได้เลย…
🔍 เมื่อกดปุ่มดาวโหลดเเล้วเว็บไซต์ก็จะเด้งมาหน้ารายละเอียดดาวโหลด ทีนี้ก็เลือกระบบปฏิบัติการของพวกคุณได้เลย !!!!
🔍 จากนั้นก็เปิดไฟล์ เเล้วกดแล้วก็กด install

🔍 เมื่อโหลดเสร็จก็เป็นอันเรียบร้อย ง่ายๆใช้ไหมล๊าา 😎😎

สำหรับเหล่าพ่อมดตัวน้อยที่ใช้ “Ubuntu” 🐧🐧 ก็ติดตั้งด้วยคำสั่งด้านล่างนี้ได้เลย

หรือจะเข้าไปดูในเว็บก็ได้น๊าา เข้าไปดูในเว็บนี้ได้เลย “https://git-scm.com/download/linux
# เข้าไปดูในเว็บนี้ได้เลย https://git-scm.com/download/linux
apt-get install git 

หลังจากติดตั้งแล้วก็ต้องตั้งค่าผู้ใช้งานของพวกเจ้าเอง

อย่าลืมใส่ “  ” ให้ครบล่ะ !!!
git config --global user.name "ชื่อที่ใช้"
git config --global user.email "อีเมลที่ใช้"

🚩เคล็ดไม่ลับ: พื้นฐานการงัดงำ Git

Git Repository ดั่งมาราธอน 🏃🏃

Git repository เปรียบเสมือนสนามแข่งวิ่งมาราธอนที่เต็มไปด้วยโค้ด เราสามารถเริ่มต้นโครงการใหม่ได้ด้วยการสร้างรีโพขึ้นมา หรือนำรีโพของผู้อื่นมาเป็นจุดเริ่มต้น

# คำสั่งสร้าง git repository ใหม่
git init

โดย Git Repository ประกอบด้วยส่วนหลักๆได้เเก่

repo/
|
|-- .git/    
|
|-- working-directory/
     |-- files
  1. repo/ คือ รูทโฟลเดอร์ของ Git Repository ทั้งหมด
  2. .git/ เป็นโฟลเดอร์ซ่อนที่เก็บข้อมูลสำคัญทั้งหมดที่จำเป็นสำหรับการทำงานของ Git ไม่ควรแก้ไขหรือลบโดยตรง
  3. working-directory/ เป็นโฟลเดอร์ที่คุณจะทำงานกับไฟล์โค้ด สร้างไฟล์ใหม่ แก้ไขไฟล์ หรือลบไฟล์ออกไป
  4. files คือไฟล์งานต่างๆ ที่คุณสร้างขึ้นมาในโครงการ ซึ่งอยู่ภายใต้ working-directory/

ถ้าจะให้เปรียบเทียบให้เห็นง๊ายง่ายก็คือ……

โรงซ่อมของปราชญ์ผมขาว
   |
   |-- ห้องพัก (ห้องปรึกษาลับของนินจา)
   |         
   |-- สนามซ้อมรบ
        |-- ทหารรับจ้าง (ไฟล์ต่างๆ)
  1. โรงซ่อมของปราชญ์ผมขาว คือ repository หรือสถานที่ที่ปราชญ์ผมขาวสอนลูกศิษย์วิชาการรบของนินจา
  2. ห้องพัก หรือ .git/ คือห้องลับที่เก็บความลับของนินจา ไม่มีใครควรสอดส่ายเข้าไปในนั้นนอกจากปราชญ์ผู้ทรงภูมิ
  3. สนามซ้อมรบ หรือ working-directory/ คือสนามที่ลูกศิษย์จะมาซ้อมและปฏิบัติการต่างๆ กับทหารรับจ้างของตน
  4. ทหารรับจ้าง หรือ files คือไฟล์โค้ดต่างๆ ที่ลูกศิษย์นั้นพัฒนาขึ้นมา ซึ่งเปรียบเสมือนทหารรับจ้างที่จะไปสู้รบในสนามแห่งโค้ด

Git Commit ท่าซามูไร ⚡⚡

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

# เพิ่มไฟล์เข้าสู่ staging area
git add file1.py file2.js

# commit การเปลี่ยนแปลง

git commit -m "สร้างไฟล์ใหม่สำหรับฟีเจอร์ A"

Git Branch ละลานตาเหมือนงูเห่า 🐍🐍

การสร้างบรานช์ก็เปรียบเสมือนการแยกย้ายของงูเห่ามหาภัยที่โหดร้ายไปสู่ทิศทางใหม่ๆ บนเส้นทางการพัฒนา เราสามารถสร้างบรานช์เพื่อทำงานบนฟีเจอร์ใหม่โดยไม่กระทบต่อแนวหลัก

# สร้างบรานช์ใหม่
git branch feature/new-feature


# สลับไปทำงานบนบรานช์ใหม่
git checkout feature/new-feature
Reference (https://unstop.com/blog/git-create-branch)

Git Merge รวมพละกำลังอ๋องซ่าส์ 👨‍💻👨‍💻

ในบางครั้งเราต้องนำพลังสองบรานช์มารวมกัน นั่นคือการ merge ซึ่งเปรียบได้กับการรวมกองกำลังของสองกระบวนทัพเพื่อเข้าสู่ศึกแห่งโค้ด

# merge บรานช์ feature/new-feature กลับสู่ master
git checkout master
git merge feature/new-feature

🚩Git กึ๋นสนั่นกับคำสั่งบ้าบิ่น

Git Clone คลอนตัวเป็นฝา 👾👾

Cloning เปรียบได้กับพรานป่าที่คลอนแคลนตัวไปสร้างบ้านใหม่ในรีโพจากที่อื่น ด้วยคำสั่งนี้เราจะได้สำเนาโครงการทั้งหมดมาไว้ที่เครื่องของเรา

# clone โครงการมาจาก remote repository
git clone https://github.com/user/repo.git
Reference (https://www.neonscience.org/resources/learning-hub/tutorials/github-git-clone)

Git Pull ดึงร้อยดึงพัน💭💭

การดึงเอาการเปลี่ยนแปลงของโครงการจากที่อื่นๆ มารวมกับโครงการของเราด้วยคำสั่ง pull ก็เปรียบกับการรวมกำลังของซามูไรที่ดึงเพื่อนๆ มาร่วมศึกด้วย

# ดึงการเปลี่ยนแปลงล่าสุดจาก remote ก่อนทำงานต่อ
git pull origin main

# หรือแบบละเอียดขึ้น
git fetch origin 
git merge origin/main

Git Push ผลักอกผลักใจ 💗💗

ในขณะที่เราต้องการแชร์การเปลี่ยนแปลงของโครงการให้กับเพื่อนร่วมทีมรับรู้ เราก็จะต้อง push การเปลี่ยนแปลงดังกล่าว ซึ่งก็เหมือนการผลักดันอารมณ์และพละกำลังสู่การต่อสู้นั่นแหละ

# ผลักดันการเปลี่ยนแปลงที่ commit แล้วขึ้น remote repo
git push origin feature-branch

# ถ้าต้องการผลักดันการเปลี่ยนแปลงไปยัง remote repo ใหม่
git remote add new-origin https://git.new-server.com/repo.git
git push -u new-origin main

“คำสั่งเหล่านี้ถือเป็นยุทธวิธีขั้นสูงในการเคลื่อนย้ายการรบของซามูไร ไม่ว่าจะเป็นการเคลื่อนพลจาก Clone, การดึงพลังเสริมจาก Pull หรือการผลักดันกำลังรบด้วย Push การใช้งานอย่างถูกต้องและเหมาะสมจะทำให้ปฏิบัติการพัฒนาโค้ดของคุณราบรื่นและได้รับชัยชนะอย่างสง่างาม โดยมี Git คอยเป็นผู้สั่งการกองทัพโค้ดของคุณอยู่เบื้องหลัง หวังว่าเหล่าพ่อมดตัวน้อยที่อ่านบทความนี้จะได้ความรู้เเละความสนุกไม่มากก็น้อย ขอบคุณที่อ่านกันจนจบน๊าา”

อ้างอิง

https://git-scm.com/docs

6431503009

Author 6431503009

More posts by 6431503009

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

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

  • คุกกี้สำหรับการติดตามทางการตลาด

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

บันทึกการตั้งค่า