ก่อนจะ Master อะไรก็ตาม ต้องเข้าใจพื้นฐานก่อน ใช้ได้กับทุกวิชา รวมถึง Git แม้เรียนรู้ขณะทำงานดีที่สุด แต่เรียน Git Terminology ก่อนช่วยทางหน้าตอนเริ่มใช้ Tool นี้
บทความนี้มี Glossary ของ Git Terminology ครบครัน ช่วยทางในการเดินทางสู่ความเชี่ยวชาญ Git ถือว่าเป็น Cheat Sheet Git Terminology ช่วยเข้าใจ Standard Terms สำหรับทำงานกับ Git
Git คืออะไร?
Git เป็น Open Source Distributed Version Control System ฟรี ใช้ได้ โปรเจกต์เล็กถึงใหญ่ รวมถึง Track การเปลี่ยนแปลงในไฟล์ชุดใดชุดหนึ่ง ฟังก์ชันหลักของ Git คือประสานงานระหว่างโปรแกรมเมอร์ที่ร่วมมือกัน Source Code ระหว่าง Software Development
Linus Torvalds สร้าง Git ในปี 2005 ตอนนี้เป็น Centralized Version Control System ที่ใช้กันกว้างที่สุดโลก Git เป็น Tool จำเป็นสำหรับ Source Projects ที่เน้น Data Integrity, Speed, และความสามารถรองรับ Distributed Non-linear Workflows
ใครใช้ Git Terminology?
Computer Programmers, Software Engineers, และ Software Developers ใช้ Git Terminology ในงานประจำวัน Tech Professionals อื่นๆ เช่น Data Architects ใช้ Git Tool ทำบาง Tasks จึงคุ้นเคย Git Terms
รายการ Git Terms: สิ่งที่ Computer Programmer ควรทราบ
- Bare repository
- Branch
- Cache
- Checkout
- Commit
- Commit object
- Detached HEAD
- Fetch
- Git repository
- Git reset
- HEAD
- Hook
- Index
- Master
- Pull request
- Git Push
- Remote repository
- Shallow repository
- Topic branch
- Upstream branch
Glossary Git Terminology: 5 Git Terms พื้นฐาน
Developer และ Programmer หลายคนใช้ Git เพราะเป็น Tool มีค่าให้ Version Control Benefits มาดู Common Git Terms, ความหมาย, และทำไม Programmer ต้องรู้
Branch
Branch คือ Repository Version อีกตัวของ Main Working Project ระบบ Version Control ส่วนใหญ่มีเป็น Standard Feature สามารถมี Multiple Branches ใน Git Project เช่น Origin Branch หรือ Target Branch ขึ้นอยู่กับ Type ของ Git Branch สามารถ Rename, List, Delete, หรือ Tasks อื่นๆ บน Branch ได้
ทำไม Programmer ต้องรู้ Branch
Programmer ต้องรู้ Git Branch เพราะมันแยกจาก Source Code เดิม ให้พื้นที่ทำงานยืดหยุ่น สร้าง Branch ใหม่สำหรับการเปลี่ยนแปลง เช่น เพิ่ม Feature หรือแก้ Bug Git Branch ยัง Point ไปยัง Snapshots ของการเปลี่ยนแปลงได้อย่างมีประสิทธิภาพ
Checkout
Checkout Function ให้ Switch ระหว่าง Versions ต่างๆ ของ Files, Commits, และ Branches สามารถรัน Git Checkout Command บันทึก Branch Changes ไป Project History และ Align การเปลี่ยนแปลงใน Git Branch ไป Working Directory
ทำไม Programmer ต้องรู้ Checkout
ในฐานะ Programmer ต้องรู้ Checkout เพราะช่วย Update Project History และ Working Directory ได้อย่างมีประสิทธิภาพ ใช้ Match Version ของ Default Branch ใน Working Directory และแจ้ง Git Track Revision ใหม่ ใช้ Restore Files ได้อีกด้วย
Master
Repositories ทุกตัวมี Primary Branch หรือ Default Branch เรียกว่า Master เมื่อสร้าง Git Repository Master คือ Development Branch ที่ Active และ Default ที่สุด Master Branch ควรมี Committed และ Accepted Changes ทั้งหมด ทำงานโดยตรงจาก Master Branch ได้พร้อมสร้าง Branches ใหม่
ทำไม Programmer ต้องรู้ Master
Programmer ต้องรู้ Master Branch เพราะมันคือที่ที่ Changes ทั้งหมด Merge เข้ามา เป็น Best Reference สำหรับ Programming Collaboration Output คิดว่ามันคือ Official Working Version ของโปรเจกต์
Git Repository
Repository มี Project-related Data ทั้งหมด เป็น Directory เก็บ Files, Folders, และข้อมูลอื่นๆ Repositories แชร์และ Copy ได้ Git Repositories ประเภทต่างๆ รวม Forked Repository, Server-side Repository, และ Central Repository
ทำไม Programmer ควรรู้ Git Repository
Programmer ควรรู้ Git Repository เพราะมี Project Files และ Directories ทุก Version ยัง Track Derived Data และ Metadata ที่เกี่ยวกับ Files และ Folders
Git Push
"Push" หมายถึง Upload Content จาก Local Repository ไป Remote Repository กระบวนการ Push อัปเดต Remote Branch ด้วย Current Branch's Commits ระวังใช้ Git Command นี้ เพราะอาจ Overwrite Changes
ทำไม Programmer ต้องรู้ Push
Programmer ต้องรู้ Git Push เพราะอัปเดต Remote Repositories ด้วย Changes จาก Local Repository ได้เร็ว ต้องการแค่ Push Command Repositories ใน Remote Server จะได้ Changes ที่ Upload Git Push ช่วย Collaborators ทั้งหมด Download Changes และ Track ได้
Git Terminology Cheat Sheet: 5 Advanced Git Terms
Computer Programmers ที่ Master Git Terminology มักทำงานกับ GitHub Platform
ความรู้ Common Git Terms ให้เท้าอยู่ในประตูโลก Git แต่ความรู้ Advanced Git Terminology ให้ Edge เรียน Tool เร็วขึ้น ด้านล่างคือ Advanced Git Terms บางอย่าง คำอธิบายสั้น และทำไม Programmer ควรรู้
Commit
Commit คือ Snapshot ของ Official Project Version ณ เวลาเฉพาะ ที่เก็บใน Git Repository ถาวร จับข้อมูลอย่าง Author Name, Email, Commit Date และ Time Git ใช้ Term "Commit" เหมือน Revision Control Systems อื่นๆ ใช้ "Revision" หรือ "Version" เป็น Alternative Term สำหรับ "Commit Object" ด้วย
ทำไม Programmer ควรรู้ Commit
Programmers ควรรู้ Commit เพราะ Git Version Control System ขึ้นอยู่กับ Commits หลัก การใช้ Git Commit ป้องกัน Total Rework ของ Codes เช่น ถ้า Modify Codes และ Change Overwrite Work คุณอาจสูญเสียแค่ Single Commit หรือส่วนเล็กของ Work
HEAD
HEAD หรือ Git HEAD คือ Current Branch ที่คุณ View อยู่ ใน Repository มี Multiple Heads แต่มี HEAD Branch เดียว นั่นคือ HEAD (ตัวใหญ่) ของ Branch ที่ Active อยู่ Capitalization สำคัญ เพราะ heads (ตัวเล็ก) หมายถึง Branches ที่ไม่ได้ View อยู่
ทำไม Programmer ควรรู้ HEAD
Programmer ต้องรู้ HEAD เพราะใช้ Track Version History ของ Branch หรือ Commit มี Nuances ตอนเรียน HEAD เช่น Programmer ต้องรู้ว่า Detached HEAD ไม่ได้หมายถึงดู Current Branch แต่อาจเป็น Current Commit
Pull Request
เรียกอีกอย่างว่า Git Pull "Pull" หมายถึง Fetch และ Merge Branch ส่ง Pull Requests ไป External Repository เพื่อ Evaluate Changes ที่ส่งมา และ Include ใน Main Repository ของโปรเจกต์ ก่อน Repository Maintainers Review Sequence ของ Changes และ Merge Upstream หากยอมรับ แล้ว Add Changes ไป Master Branch
ทำไม Programmer ต้องรู้ Pull Request
สำหรับ Programmer Pull Requests สำคัญเพราะ Ensure ว่า Codes ผ่าน Quality Check ก่อน Merge ไป Upstream Repository หรือ Original Repository โดยไม่มี Pull Requests Codebase จะ Cluttered และ Unclear เร็ว แต่ละ Programmer มี Approach ต่างกัน ทำให้ Repository 混乱กับ Code Standards ต่างๆ
Remote Repository
Remote Repository Track โปรเจกต์เดียวกันจาก Repository อื่น Versions ของ Official Project ที่ Host บน Internet หรือ Network เป็นตัวอย่าง Remote Repositories อาจมี Read-only หรือ Read/Write Access ขึ้นอยู่กับ Access ที่ Repository Authors ให้
ทำไม Programmer ควรรู้ Remote Repository
ในฐานะ Programmer ควรรู้ Remote Repository เพราะจะ Collaborate บน Git Project ใดๆ ได้ การเรียนรู้ Remote Repository หมายถึงรู้จัก Manage มัน ต้อง Apply Push และ Pull Requests ขณะ Align Changes กับ Repositories อื่น
Shallow Repository
Shallow Repository คือ Repository ที่ History ไม่ครบ เนื่องจาก Git แสดงว่า Commits บางส่วนไม่มี Parents แม้ Commit Object จะแสดง Real History ใหญ่ใน Upstream Type นี้ Handy เมื่อสนใจ Recent History ของโปรเจกต์หลัก
ทำไม Programmer ควรรู้ Shallow Repositories
ถ้าเป็น Programmer ต้องรู้ Shallow Repositories หากอยากประหยัด Bandwidth หรือ Storage Expenses สำหรับเก็บ Whole Upstream Repository ช่วยประหยัดเวลาจากการผ่าน Version History ยาวนาน

"Career Karma เข้ามาในชีวิตฉันเมื่อฉันต้องการมากที่สุด และช่วยจับคู่กับบูทแคมป์ได้เร็ว สองเดือนหลังจบ ฉันพบงานฝันที่ตรงกับคุณค่าและเป้าหมายในชีวิต!"
Venus, วิศวกรซอฟต์แวร์ที่ Rockbot
ค้นหาบูทแคมป์ของคุณ
เรียน Git Terminology ในปี 2022 ยังไง?
เรียน Git Terminology ผ่าน Git Courses, Training, และ Online Resources ได้ ยังสมัคร Best Git Bootcamps ซึ่งไม่แค่สอน Basic Git Terms แต่ให้ Opportunity ทำ Git Projects การเรียนผ่าน Coding Bootcamps ปรับปรุง Coding Skills และวางคุณบน Path สู่ Career ที่ดี
Git FAQ
Git vs GitHub แตกต่างยังไง?
Git คือ Version Control System จัดการและ Monitor Source Code History GitHub คือ Service ช่วยจัดการ Git Repositories ใน Cloud หากมี Git-based Open Source Projects GitHub ช่วยจัดการได้ดีขึ้น
เรียน Git ใช้เวลานานแค่ไหน?
มือใหม่ อาจใช้สัปดาห์ขึ้นไป เนื่องจากต้องเรียน Git Terminology, Concepts, และ Practical Executions แต่ Programmers ที่มี Experience Master Git Basics ได้ใน 20 นาที
Git เป็นภาษาโปรแกรมมิ่งไหม?
ไม่ใช่ Git คือ Version Control System ให้ Programmers Track Changes ในไฟล์ชุดใดชุดหนึ่ง ช่วยประสาน Collaboration ระหว่าง Programmers ผลิต Source Code ระหว่าง Software Development
Git ทำจากภาษาโปรแกรมมิ่งอะไร?
ประมาณ 50% ของ Git Code เป็น C ภาษาอื่นๆ ที่ใช้ใน Git รวม Python, Perl, C++, Java, และ TCL