The user wants to manage their dotfiles repository using git submodules, specifically to maintain their Neovim configuration (nvim/.config/nvim) as a separate, trackable entity while keeping it embedded within the dotfiles repo. They know git but are unfamiliar with the specific workflows and pitfalls of submodules.
- Can confidently add, update, and sync submodules in their dotfiles repo
- Understands when to use
git submodule updatevsgit submodule update --remote - Can recover from common submodule mistakes (detached HEAD, uncommitted changes, stale references)
- Can set up a clean workflow for their own dotfiles repo (or similar multi-repo projects)
- Knows how to help others clone their dotfiles repo and get the submodules working on first pull
- Prior knowledge: already knows git (branches, remotes, basic rebase, merge)
- Time per session: short, quick lessons
- Hands-on only: lessons must work against their actual dotfiles repo
- Converting submodules to git subtree or external dependency managers
- Deep internals of gitlink objects (the plumbing layer)
- Submodules in very large monorepos with dozens of nested submodules