
ALT panel 1: git often uses the term "reference" in error messages fatal: invalid reference: asdf error: failed to push some refs to 'github.com:jvns/int-exposed' "ref" and "reference" mean the same thing panel 2: "reference" often just means "branch" in those two error messages, you can replace "reference" with "branch" 96% "branch" 3% "tag" 3% "HEAD" 0.01% something else panel 3: it's an umbrella term git: "well, I COULD check if the thing we failed to push is a branch or tag or what, and customize the error message based on that...." git: "seems complicated, let's just print out "reference"" sad person: "why?" panel 4: reference: the definition References are files: either .git/HEAD or files in .git/refs. There are 5 main types. Here's a list of every type of git reference that I have ever used: HEAD: .git/HEAD branches: .git/refs/heads/BRANCH tags: .git/refs/tags/TAG remote-tracking branches: .git/refs/remotes/REMOTE/BRANCH stash: .git/refs/stash all of these files

ALT getting started: git init, git clone move between branches: git branch, git checkout, git switch restore old files: git checkout, git restore preparing to commit: git status, git add, git mv, git rm, git diff, git reset combining branches: git merge, git rebase, git cherry-pick working with others: git pull, git push, git fetch, git remote making commits: git commit configuring git: git config, git remote code archaeology: git blame, git log FILENAME, git log -S SEARCh, git show, git diff trash changes: git stash, git checkout ., git reset –hard, git rebase -i git troubleshooting: git log BRANCH, git status, git diff, git reflog editing history: git rebase -i, git reset –hard

















