0Pricing
Git Advanced: Monorepo, Submodules & Workflows · Lesson

Working with Submodule Branches

Learn how to manage and switch branches within a submodule and push changes back to the submodule's origin.

Branching in Submodules

Git submodules usually point to a specific commit. But what if you need to actively develop inside a submodule?

  • This allows independent feature development.
  • You can contribute changes back to the submodule's own project.
  • It's key for complex projects needing tight integration.

Submodules: Detached HEAD

By default, when you clone a project with submodules, each submodule is checked out to a specific commit. This is called a "detached HEAD" state.

  • It means you're not currently on any named branch.
  • You can view files, but new commits won't automatically belong to a branch.
  • It provides a stable way for the parent repo to reference specific submodule versions.

All lessons in this course

  1. Working with Submodule Branches
  2. Nested Submodules and Complex Setups
  3. Common Submodule Issues & Fixes
  4. Pinning Submodules to Specific Tags and Commits
← Back to Git Advanced: Monorepo, Submodules & Workflows