| Submodule mode | exact | branch | floating |
| Description | The SHA-1 recorded for the superproject is checked out as a detached HEAD | A local branch is used to integrate both local and upstream changes, still a SHA-1 is recorded to denote the exact submodule commit used | A local branch follows a remote branch, the SHA-1 only serves as an initial starting point and may be updated to record releases or other special occasions, but doesn't have to |
| Typical use case | Content shared between different repos | Content shared between different repos | Content managed by somebody else |
-| Configuration | None, the default of =submodule.<name>.update= is =checkout= which is the value for this mode | =submodule.<name>.update=: set to =merge= or =rebase= depending on the desired update method | =submodule.<name>.branch=: set to the upstream branch |
\ No newline at end of file
+| Configuration | =submodule.<name>.update=: =checkout=, which is the default | =submodule.<name>.update=: set to =merge= or =rebase= depending on the desired update method | =submodule.<name>.branch=: set to the upstream branch |
\ No newline at end of file