Git submodules are like repositories within repositories, which allow you to include external code libraries or dependencies in your project, all without linking the module’s version control to the project itself. This keeps modules separate and easy to update, and it’s easy to convert a directory into a new submodule.