Я ответил на основании того, что я понял из вашего вопроса, комментарий, если есть что-то, что вам нужно.
Предположим, вы создаете новый каталог, который позже станет подмодулем. Если вы не хотите отслеживать изменения в этом каталоге, добавьте это в .gitignore из вас super_repo. Теперь, допустим, вы решили сделать его дополнительным модулем, сделайте это от вас super_repo.
1) Удалить каталог из.gitignore
2) Инициализировать ваш my_dir_3
мерзавец INIT
3) Добавить подмодуль в свой супер репо
мерзавец подмодуль добавить MODULE_NAME
Ваш субмодуль добавляется в супер-репо. Вещи, которые вы должны знать, чтобы работать с подмодулями (по крайней мере, в вашем случае):
1) Ваш super_repo также должен быть git repo.
2) Подмодули обрабатываются как разные объекты в git, то есть изменения от модуля не отразятся в другом. Например, фиксация в my_sub_1 не будет отображаться в my_sub_2.
3) Git начнет отслеживать my_sub_3 как отдельный проект, как только он будет добавлен в качестве подмодуля.
4) «git status» после добавления субмодуля должен показать вам .gitmodules, вы заметите все подмодули внутри .gitmodules.
5) Вот интересная часть о подмодуле git, Допустим, вы внесли некоторые изменения в my_sub_3, Git видит его как подмодуль и не отслеживает его содержимое, когда вы не находитесь в этом каталоге.
Так что если вы находитесь вне каталога, изменения не будут отслеживаться. Если вы фиксируете на этом этапе, это будет рассматриваться как часть super_repo а не my_sub_3
Наконец,
Подмодули не следует путать с пультами, которые другие хранилища одного и того же проекта; подмодули предназначены для разных проектов, которые вы хотели бы сделать частью своего исходного дерева, в то время как история этих двух проектов по-прежнему остается полностью независимой, и вы не можете изменять содержимое подмодуля из основного проекта.
Вы можете добавить пульт дистанционного управления для другого проекта и использовать subtree merge strategy, вместо того, чтобы обрабатывать другой проект как подмодуль
Какую версию Git вы используете? (просто чтобы проверить, если это ошибка, которая могла быть исправлена позже) – VonC
Я не думаю, что это версия. Может быть, так оно и будет реализовано. Я использую один из последних выпусков: 2.10.1. – Henrik