Dev Nest


กำลังเตรียมห้องเรียน... 🎓
เรียนรู้ไปพร้อมกับเรา ทุกขั้นตอนของการพัฒนาซอฟต์แวร์
ถ้าคุณกำลังเรียน coding ด้วยตัวเอง หรือกำลังคิดจะเปลี่ยนสายมาเป็น developer แล้วเจอคำว่า "Git" กับ "GitHub" โผล่มาในคอร์สหรือในประกาศรับสมัครงานจนงงว่ามันคืออะไร ขอบอกเลยว่าคุณไม่ได้คิดไปคนเดียว นี่คือจุดที่มือใหม่เกือบทุกคนสะดุด เพราะมันไม่ใช่ภาษาโปรแกรม ไม่ใช่ framework แถมยังทำงานบนหน้าจอดำ ๆ (terminal) ที่ดูน่ากลัวอีก
ข่าวดีคือ Git ไม่ได้ยากอย่างที่กลัว และบทความนี้จะพาคุณไปตั้งแต่ "มันคืออะไร ต่างกันยังไง ทำไมต้องใช้" ไปจนถึงลงมือจริง — อ่านจบแล้วคุณจะ push โปรเจกต์แรกของตัวเองขึ้น GitHub ได้ พร้อมรู้ด้วยว่ามือใหม่มักพลาดตรงไหน เพื่อไม่ให้คุณพลาดตาม
หลายคนเข้าใจผิดว่า Git เป็น "ของขั้นสูง" ไว้ใช้ตอนทำงานในทีมใหญ่ ความจริงตรงข้ามเลย — Git คือ เครื่องมือแรก ที่ developer เจอ ก่อนจะได้เขียนโค้ดจริงในงานด้วยซ้ำ มันคือทักษะพื้นฐานระดับเดียวกับการรู้จักเปิดโปรแกรมแก้โค้ด
ไม่ใช่แค่ความเห็นส่วนตัว แต่สะท้อนจากตัวเลขจริง: นักพัฒนาทั่วโลกราว 90%+ ใช้ Git เป็นระบบ version control หลัก (อ้างอิงจาก Stack Overflow Developer Survey ปี 2024) แปลว่าถ้าคุณจะเข้าวงการนี้ Git แทบเป็นทักษะที่ "เลี่ยงไม่ได้" ไม่ว่าจะสายเว็บ สาย data หรือสายไหนก็ตาม
และนี่คือเหตุผลที่คนเปลี่ยนสายควรสนใจเป็นพิเศษ: GitHub profile ของคุณคือเรซูเม่จริง ที่ HR และทีมเทคนิคเปิดดูตอนพิจารณารับ developer เพราะมันโชว์ "ของจริง" ที่คุณเคยทำ ไม่ใช่แค่คำพูดในใบสมัคร เรื่องนี้สำคัญมากจนเราจะขยายให้ฟังในหัวข้อท้าย ๆ
ตอนนี้ขอแค่คุณจำไว้ว่า: อ่านบทความนี้จบ คุณจะมีโปรเจกต์แรกของตัวเองอยู่บน GitHub จริง ๆ มาเริ่มจากพื้นฐานกันก่อน
Git คือซอฟต์แวร์ version control ที่ติดตั้งและทำงานอยู่บน "เครื่องของคุณเอง" หน้าที่ของมันคือคอยจดจำทุกการเปลี่ยนแปลงของโค้ด ทำให้คุณย้อนกลับไปเวอร์ชันก่อนหน้าได้เมื่อทำพัง
ลองนึกภาพง่าย ๆ ว่า Git คือ "เครื่องย้อนเวลา" หรือระบบ "เซฟเกม" ของโค้ด ตอนเล่นเกม คุณกดเซฟไว้ก่อนสู้บอส ถ้าแพ้ก็โหลดเซฟกลับมาใหม่ได้ Git ก็ทำงานแบบเดียวกัน — แก้โค้ดพังเมื่อไหร่ ก็ย้อนกลับไปจุดที่ยังดีอยู่ได้ ไม่ต้องก๊อปปี้โฟลเดอร์เป็น project-final, project-final-2, project-final-จริง ๆ อีกต่อไป
เกร็ดที่ทำให้เห็นว่า Git น่าเชื่อถือแค่ไหน: Git ถูกสร้างขึ้นในปี 2005 โดย Linus Torvalds คนเดียวกับที่สร้างระบบปฏิบัติการ Linux เขาสร้างมันขึ้นมาเพื่อจัดการโค้ดของ Linux kernel ที่มีคนช่วยพัฒนาทั่วโลก จนทุกวันนี้ Git กลายเป็นระบบ version control แบบกระจายศูนย์ (distributed version control) ที่ได้รับความนิยมสูงสุดในโลก
สามคำนี้คือคำศัพท์ที่คุณจะได้ยินบ่อยที่สุด จำแค่นี้ก่อนพอ:
เห็นไหมว่าไม่ได้น่ากลัวอย่างที่คิด ทั้งหมดนี้คือ "เซฟ–อัป–ดึง" เท่านั้นเอง
ถ้า Git คือซอฟต์แวร์บนเครื่องคุณ GitHub ก็คือบริการออนไลน์ที่รับฝาก (host) โปรเจกต์ Git ของคุณ ให้อยู่บนคลาวด์ เพื่อให้เข้าถึงได้จากทุกที่ และแชร์ให้คนอื่นเห็นได้
แต่ถ้ามองว่า GitHub เป็นแค่ "Google Drive เก็บโค้ด" จะพลาดของดีไปเยอะ เพราะจริง ๆ GitHub เป็นทั้ง:
ขนาดของ GitHub บอกได้ว่ามันเป็นศูนย์กลางของวงการ dev จริง ๆ: ปัจจุบันมีนักพัฒนาใช้งานกว่า 180 ล้านคน และมี repository (โปรเจกต์) รวมกันกว่า 630 ล้าน repo (ข้อมูลจาก GitHub Octoverse ปี 2025) แปลว่าโค้ดของคนทั้งโลกอยู่ที่นี่กันแทบทั้งหมด
อีกคำที่จะได้เจอคือ Pull Request (PR) — มันคือการ "ขอเสนอ" ให้ทีมรีวิวโค้ดของคุณก่อนที่จะรวม (merge) เข้าโปรเจกต์หลัก คิดง่าย ๆ ว่าเหมือนการส่งงานให้พี่ในทีมตรวจก่อนปล่อยจริง ตอนนี้รู้แค่ว่ามันมีอยู่ก็พอ เดี๋ยวพอทำงานจริงจะเข้าใจเอง
นี่คือความสับสนอันดับหนึ่งของมือใหม่ หลายคนคิดว่า Git กับ GitHub เป็นสิ่งเดียวกัน ทั้งที่จริงเป็นคนละอย่าง มาดูตารางเทียบให้จบในที่เดียว:
| หัวข้อ | Git | GitHub |
|---|---|---|
| มันคืออะไร | ซอฟต์แวร์ version control | บริการ host โปรเจกต์ออนไลน์ |
| อยู่ที่ไหน | ติดตั้งบนเครื่องคุณ (local) | อยู่บนคลาวด์ (ออนไลน์) |
| ใช้ตอนออฟไลน์ได้ไหม | ได้ ใช้ได้โดยไม่ต้องต่อเน็ต | ไม่ได้ ต้องต่ออินเทอร์เน็ต |
| ใครสร้าง | Linus Torvalds (2005) | บริษัท GitHub (ปัจจุบันอยู่ใต้ Microsoft) |
| ขาดอีกอันได้ไหม | ใช้ Git ได้โดยไม่ต้องมี GitHub | GitHub มีไว้เพื่อทำงานคู่กับ Git |
ประโยคที่ช่วยให้จำง่ายที่สุดคือ: "Git คือทักษะ ส่วน GitHub คือที่เอาไว้โชว์ผลงาน" คุณใช้ Git ทำงานบนเครื่อง แล้ว push ขึ้นไปเก็บ/โชว์บน GitHub เท่านั้นเอง
พอเข้าใจ concept แล้ว มาลงมือจริงกัน ข่าวดีคือ workflow พื้นฐานใช้แค่ราว 5–7 คำสั่งเท่านั้น ไม่ต้องท่องเป็นร้อยคำสั่งอย่างที่กลัว แค่ทำตามทีละขั้นก็เห็นโปรเจกต์ตัวเองขึ้น GitHub ได้แล้ว
เริ่มจากดาวน์โหลดและติดตั้ง Git จาก git-scm.com แล้วไปสมัครบัญชีที่ github.com (ฟรี) จากนั้นตั้งค่าชื่อกับอีเมลให้ Git รู้ว่าใครเป็นคน commit (ทำครั้งเดียวพอ):
git config --global user.name "ชื่อของคุณ"
git config --global user.email "อีเมลของคุณ"
สมมติว่าคุณมีโฟลเดอร์โปรเจกต์อยู่แล้ว เปิด terminal เข้าไปในโฟลเดอร์นั้น แล้วรันทีละบรรทัด:
git init # ขั้น 2: สร้าง repo Git ในโฟลเดอร์นี้
git add . # ขั้น 3: เตรียมไฟล์ทั้งหมดเข้าคิวรอ commit
git commit -m "first commit" # ขั้น 4: เซฟเกมครั้งแรก พร้อมข้อความ
git branch -M main # ขั้น 5: ตั้งชื่อ branch หลักเป็น main
git remote add origin https://github.com/ชื่อคุณ/ชื่อ-repo.git # เชื่อมกับ repo บน GitHub
git push -u origin main # ขั้น 6: ดันโค้ดขึ้น GitHub
ข้อควรรู้: บรรทัด
git branch -M mainสำคัญมาก — GitHub ปัจจุบันใช้ชื่อ branch หลักเป็นmainไม่ใช่masterแบบสมัยก่อนแล้ว ก่อนรันขั้นที่ 6 อย่าลืมไปกด "New repository" บน GitHub เพื่อสร้าง repo เปล่า ๆ ไว้รับโค้ดก่อนนะ
เสร็จแล้วลองเปิดหน้า repo ของคุณบน GitHub รีเฟรชดู — คุณจะเห็นโค้ดของตัวเองขึ้นไปอยู่บนนั้นจริง ๆ ความรู้สึก "ของเราขึ้นเว็บแล้ว" ครั้งแรกนี่แหละ คือก้าวแรกของการเป็น developer
ตรงนี้คือสิ่งที่คอร์สส่วนใหญ่ไม่ค่อยเตือน แต่เป็นเรื่องที่ทำให้คุณ "ดูเป็นมือโปร" หรือ "ดูเป็นมือใหม่" ทันที จำ 4 ข้อนี้ไว้ให้ดี:
เผลอ push ไฟล์ลับขึ้น public repo — ไฟล์อย่าง .env ที่เก็บรหัสผ่าน หรือ API key ถ้าหลุดขึ้น repo สาธารณะ ใครก็เอาไปใช้ได้ วิธีเลี่ยงคือสร้างไฟล์ .gitignore แล้วใส่ชื่อไฟล์/โฟลเดอร์ที่ไม่อยากให้ Git แตะ (เช่น .env, node_modules/) เรื่องนี้คือพื้นฐานความปลอดภัยที่ห้ามพลาดเด็ดขาด
commit message ที่อ่านไม่รู้เรื่อง — เขียนแค่ "update", "fix", "asdf" ทำให้ย้อนดูประวัติทีหลังไม่รู้ว่าแก้อะไร ลองเขียนให้สื่อความ เช่น "add login form" หรือ "fix typo in homepage" แทน
ยังใช้ master แทน main — มาตรฐานปัจจุบันคือ main แล้ว การยังใช้ master ทำให้ดูตามไม่ทันยุค ใช้ git branch -M main ตามที่สอนไปด้านบนได้เลย
กลัว merge conflict เกินเหตุ — merge conflict (โค้ดสองเวอร์ชันชนกันตอนรวม) ไม่ใช่เรื่องน่ากลัว มันเกิดขึ้นเป็นปกติเวลาทำงานเป็นทีม แค่เปิดไฟล์ดูว่าจะเก็บส่วนไหน แล้วแก้ให้เรียบร้อย ก็จบ ไม่ใช่หายนะอย่างที่หลายคนคิด
กลับมาที่ประเด็นที่ทิ้งไว้ตอนต้น สำหรับคนเปลี่ยนสายที่ไม่มีประสบการณ์ทำงาน dev มาก่อน GitHub profile คือเครื่องมือพิสูจน์ตัวเองที่ทรงพลังที่สุด เพราะตอนสมัครงาน dev จริง ๆ ทีมเทคนิคและ HR มักจะ เปิดดู GitHub ของผู้สมัคร ก่อนเรียกสัมภาษณ์
สิ่งที่เขาดูคือ: คุณเคยทำโปรเจกต์อะไรบ้าง โค้ดเขียนเป็นระเบียบไหม README อธิบายโปรเจกต์ได้ดีแค่ไหน และ "green squares" หรือกราฟ contribution ที่แสดงว่าคุณลงมือเขียนโค้ดสม่ำเสมอ ทั้งหมดนี้บอกเล่าตัวตนของคุณได้มากกว่าคำว่า "ขยัน มีความรับผิดชอบ" ในใบสมัครหลายเท่า
ข่าวดีคือคุณเริ่ม "สะสมผลงาน" ได้ตั้งแต่วันนี้ ทุกโปรเจกต์ที่ push ขึ้นไป คือหนึ่งชิ้นในพอร์ตที่จะพาคุณไปสมัครงานได้ในอีกไม่กี่เดือนข้างหน้า — ที่ DevNest ผู้เรียนใช้ Git ส่งงานตั้งแต่วันแรกของคอร์ส พอเรียนจบก็มี GitHub profile ที่เต็มไปด้วยผลงานจริง พร้อมเอาไปยื่นสมัครงานได้ทันที ไม่ต้องเริ่มจากศูนย์ตอนหางาน
มาเก็บใจความสำคัญทั้งหมดในที่เดียว:
อย่าให้คำว่า "Git" หรือหน้าจอ terminal สีดำ ๆ ทำให้คุณกลัวอีกต่อไป มันคือทักษะวันแรกของ dev ทุกคน ไม่ใช่ของขั้นสูงที่ไกลตัว และคุณเพิ่งทำมันได้แล้วในบทความนี้
ถ้าอยากมีพี่เลี้ยงช่วยปูพื้นฐานแบบนี้ทีละขั้น และพาลงมือทำโปรเจกต์ Capstone จริงที่ส่งผ่าน GitHub ได้เหมือน dev มืออาชีพ ลองแวะดูบูทแคมป์ของ DevNest ดู — เราออกแบบมาเพื่อคนเปลี่ยนสายและมือใหม่ที่อยากเริ่มต้นอย่างถูกทางตั้งแต่วันแรกโดยเฉพาะ