Git/GitHub Basics
เรียนรู้ทักษะพื้นฐานในกาใช้ Git/GitHub ในการทำ version control
Git Basics
บทความนี้จะพาทุกคนมารู้จักกับ basics ของการใช้งานโปรแกรม Git กัน
Git เป็นโปรแกรม version control ที่นับได้ว่าใช้กันอย่างแพร่หลายที่่สุดในสำหรับ software development ที่ช่วยติดตามการเปลี่ยนแปลงของโค้ดระหว่างการพัฒนาโปรแกรมของเรา ซึ่งสำคัญอย่างมากในการจัดการ codebase ร่วมกันทีมที่มีหลายคนทำงานในโปรเจกต์เดียวกัน
Basics
การใช้งาน Git มีคำสั่งเบื้องต้นประมาณนี้ แนะนำให้อ่าน resources ที่เราได้แปะไว้เพื่อทำความเข้าใจแต่ละคำสั่งด้วย
Set up
สามารถติดตั้ง Git ได้จาก git-scm.com
เกี่ยวกับการสร้าง repository
git init
สร้าง repository ใหม่ เพื่อให้ Git ติดตามการเปลี่ยนแปลงของไฟล์ในโฟลเดอร์ปัจจุบันgit clone
คัดลอก repository จาก remote repository เช่นใน GitHub (repository ที่ถูก host จาก network หรือ internet)
การอัปเดตการเปลี่ยนแปลง และตรวจสอบสถานะ
git add
เพิ่มไฟล์เข้า staging (เพื่อบอกว่าเรากำลังเตรียมจะ commit ไฟล์เหล่านี้)git commit
การ commit บันทึกการเปลี่ยนแปลงที่อยู่ใน staging areagit log
ดูประวัติการ commitgit status
ตรวจสอบสถานะของไฟล์ในโฟลเดอร์ปัจจุบัน
branching
การสร้าง branch คือการสร้าง multiverse ใหม่ของโปรเจกต์ของเรา ที่เราสามารถทำการเปลี่ยนแปลงโค้ดได้โดยไม่มีผลต่อ branch อื่น ๆ ใน repository นั้น
git branch
จัดการหรือสร้าง branch ของ repositorygit checkout
สลับไปที่ branch ที่เราต้องการgit rebase
รวม branch โดยการเลือก commit ที่จะรวม (เพื่อให้ประวัติการ commit ของ branch ที่เรา merge มีลำดับที่เรียงกัน)git merge
รวม branch หนึ่ง กับ branch ปัจจุบัน
แหล่งเรียนรู้เพิ่มเติม
อัปเดตการเปลี่ยนแปลงที่ remote repository
remote repository คือ repository ที่ถูก host จาก network หรือ internet เช่นใน GitHub, GitLab, Bitbucket
git push
ส่งการ commit ไปยัง remote repositorygit pull
ดึงการ commit จาก remote repositorygit fetch
ดึงการ commit จาก remote repository แต่ยังไม่ merge กับ branch ปัจจุบันgit remote
จัดการ remote repository ทั้งหมดที่เชื่อมกับ local repository (ส่วนใหญ่จะตั้งชื่อว่า ‘origin’)
นอกจากนี้ ยังมีคำสั่งอื่น ๆ อีกเยอะมากที่มีประโยชน์กับ experience ของเราในฐานะ developer สามารถเข้าไปอ่าน documentation ของ Git ได้ที่ git-scm.com/doc เลย
GitHub Basics
GitHub เป็น platform ที่ให้บริการ hosting สำหรับ Git repository ที่เราสามารถใช้งานได้ฟรี และมี feature อื่น ๆ ที่ช่วยในการจัดการโปรเจกต์ของเราอีกเยอะ
การใช้งาน GitHub
สมัครสมาชิก GitHub ได้ที่ github.com จากนั้นให้สร้าง repository ใหม่ โดยกดปุ่ม ‘New’ ที่หน้าหลักของ GitHub
การใช้งาน Pull Request
Pull Request เป็น feature ที่ช่วยให้เราสามารถร้องขอให้เจ้าของ repository รวมการเปลี่ยนแปลงใน branch หนึ่ง เข้าไปที่อีก branch หนึ่ง
การใช้งาน Issues
Issues เป็น feature ที่ช่วยให้เราสามารถสร้าง task หรือ bug report ใน repository ของเรา
Learning Resources
เราตั้งในให้บทความนี้เป็นแหล่งรวม resources ในการเรียนรู้ต่าง ๆ เกี่ยวกับการใช้ Git โดยเนื้อหาทั้งหมดที่เราแนะนำไว้จะสามารถเรียนรู้ได้ทั้งหมดภายในเวลาไม่เกิน 3 ชั่วโมง โดยจะมีทั้งเนื้อหาที่สั้นและยาวปนกันไป สามารถคลิกไปที่ลิงก์ต่าง ๆ เพื่อลองหา resources การเรียนที่ใช่สำหรับเราได้เลย
Video Tutorials
- Git & GitHub Tutorial | Visualized Git Course
- Git in 100 seconds
- Git Tutorial For Dummies
- Learn Git - The Full Course [Freecodecamp]
Web Content
Interactive Games
Long Content
Resources อื่น ๆ
การเขียน Commit Message ที่ดี
- Conventional Commits - A specification for adding human and machine readable meaning to commit messages
- How to write better Git commit messaages
- How to Write a Git Commit Message
เพียงเท่านี้ เราก็เชื่อว่าทุกคนก็สามารถเริ่มต้นเรียนรู้เกี่ยวกับการใช้ Git/GitHub ได้แล้ว
อย่าลืมกดติดตาม Instagram ของเราได้ที่ @thinc.in.th ด้วยนะะ