Forgetting to add new source files before committing/pushing and then temporarily not having access to the machine where I wrote them. (I'm trying to get better with setting up gitignores so this is more obvious when committing.)
Interrupting git during a submodule update --init which can leave repos with a branch checked out but all files missing.
git add external/repo/
when I mean
git add external/repo
The first one adds all the files in the repo, the second makes a submodule.