Confusing Git Terminology

Git can be confusing, even for experienced users. The author asked the Mastodon community for their most confusing git jargon, and now they’re summarizing some of the terms. They start with explaining HEAD and “heads” (branches) and the concept of a detached HEAD state. They also clarify the meaning of “ours” and “theirs” in merge and rebase situations. Furthermore, the misleading message “Your branch is up to date with ‘origin/main'” is addressed. The author explains the difference between HEAD^, HEAD~, and HEAD^2. They also delve into the meaning of .. and … in git log and git diff commands. “Fast-forwarded” merges are discussed, as well as “reference” and “symbolic reference” terms. The author briefly mentions refspecs, “tree-ish,” “index,” “staged,” and “cached” labels. Confusing terms like “reset,” “revert,” and “restore” are explained. The author touches on “untracked files,” “remote-tracking branches,” and the ambiguity of the term “track” in git. The confusion around the git checkout command is highlighted, as well as the purpose of the reflog. Lastly, the differences between merge,

https://jvns.ca/blog/2023/11/01/confusing-git-terminology/

To top