Working in a Submodule Folder

Since a Submodule is just a normal Git repsitory, you can of course work with it and make modifications like in any other repository.

Opening a Submodule in Tower

To open a Submodule repository in Tower, simply double-click it in the sidebar. Now you can make your changes just as usual.

navigation-bar

When you're finished working in the Submodule, you can easily return to its parent repository since that is still part of the path in Tower's navigation bar.

Detached HEADs & Submodules

Usually, when working with Git, you have a certain branch checked out. However, Git also allows you to check out any arbitrary commit. Working in such a non-branch scenario is called having a "detached HEAD".

The reason this scenario deserves its own name is because it's both unusual and a little dangerous: when you make a commit in such a situation, that commit cannot be associated with a branch. Should you switch to a different branch afterwards, the commit will effectively be lost in space (and will be very hard to retrieve...).

Now here comes the connection to Submodules: using the "update" command on a Submodule checks out a specific commit - not a branch. This means that the Submodule repository will be in a "detached HEAD" state.

Don't Commit on a Detached HEAD
With all of this mind, a simple rule will help you when you need to work in a Submodule directly: be sure to create or check out a branch before committing your work!