- บทความเกี่ยวกับศัพท์ที่ชวนสับสนซึ่งใช้ใน Git ระบบควบคุมเวอร์ชันสำหรับติดตามการเปลี่ยนแปลงของซอร์สโค้ดระหว่างการพัฒนาซอฟต์แวร์
- ผู้เขียนใช้ Git มา 15 ปี และพยายามอธิบายความเฉพาะตัวของศัพท์ใน Git
- ผู้เขียนถามผู้คนบน Mastodon เกี่ยวกับศัพท์เทคนิคของ Git ที่ทำให้สับสน และได้รับคำตอบจำนวนมาก
- คำศัพท์ที่ชวนสับสนบางส่วนที่ถูกพูดถึง ได้แก่ "HEAD และ heads", "detached HEAD state", "ours และ theirs ระหว่างการ merge หรือ rebase", "Your branch is up to date with 'origin/main'", "HEAD^, HEAD~ HEAD^^, HEAD~~, HEAD^2, HEAD~2", ".. และ ...", "สามารถ fast-forwarded ได้", "reference, symbolic reference", "refspecs", "tree-ish", "index, staged, cached", "reset, revert, restore", "untracked files, remote-tracking branch, track remote branch", "checkout", "reflog", "merge vs rebase vs cherry-pick", "rebase --onto", "commit" เป็นต้น
- ผู้เขียนให้คำอธิบายสำหรับแต่ละคำศัพท์ และมักใช้อธิบายวิธีใช้งานผ่านตัวอย่าง
- บทความสรุปว่า 3 คำศัพท์ Git ที่สับสนที่สุดสำหรับผู้เขียนคือ "head เป็น branch แต่ HEAD คือ branch ปัจจุบัน", "remote tracking branch กับ branch ที่ track remote เป็นคนละอย่างกัน" และ "index, staged, cached" ทั้งหมดหมายถึงสิ่งเดียวกัน
- ผู้เขียนยังกล่าวด้วยว่าตนได้เรียนรู้อะไรมากมายระหว่างเขียนบทความนี้ และเข้าใจมากขึ้นว่าทำไม Git จึงอาจทำให้ผู้ใช้จำนวนมากสับสนได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
git reflogมีประโยชน์เมื่อเกิดปัญหาorigin mybranchและorigin/mybranch