Возможно, вам следует рассматривать gitslave как альтернативу git-submodule, в зависимости от вашего рабочего процесса разработки, он может быть лучше (или хуже).В зависимости от вашей проблемы, gitslave сохраняет все члены суперпроекта в одной ветви (при отсутствии определенных команд git (не gitslave), чтобы действовать иначе, и даже тогда многие команды предупреждают вас, когда вы находитесь в разных ветвях).
Gitslave полезен, когда вы управляете подпроектами и разрабатываете их в более или менее одно и то же время, что и суперпроект, и, кроме того, когда вы обычно хотите пометить, разветвить, протолкнуть, вытянуть и т. Д. Все репозитории одновременно.
git-submodule лучше, когда вы не управляете подпроектами или, более конкретно, хотите исправить подпроект в определенной ревизии, даже если подпроект изменяется.