Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Git Essentials: Glossary ครบครันสำหรับมือใหม่

ก่อนจะ 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 ควรทราบ

  1. Bare repository
  2. Branch
  3. Cache
  4. Checkout
  5. Commit
  6. Commit object
  7. Detached HEAD
  8. Fetch
  9. Git repository
  10. Git reset
  11. HEAD
  12. Hook
  13. Index
  14. Master
  15. Pull request
  16. Git Push
  17. Remote repository
  18. Shallow repository
  19. Topic branch
  20. 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

Git Essentials: Glossary ครบครันสำหรับมือใหม่

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 ยาวนาน

Git Essentials: Glossary ครบครันสำหรับมือใหม่

"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