Почему родительский проект в гит отслеживает изменения в подмодулях?

Git использует механизм подмодулей для интеграции других репозиториев в одном проекте. Когда вы добавляете подмодуль в родительский проект, Git сохраняет ссылку на указанный репозиторий и коммит. При выполнении операции git clone для родительского проекта, Git смотрит на файл .gitmodules, чтобы определить, какие подмодули должны быть клонированы из удаленных репозиториев.

Одна из особенностей подмодулей в Git заключается в том, что они рассматриваются как подрепозитории, а не просто вложенные папки. Это означает, что в Git родительский проект отслеживает изменения в подмодуле, поскольку он регистрирует состояние и коммиты подмодуля. То есть Git сохраняет информацию о коммитах, указывающих, какой код из подмодуля был клонирован в родительском проекте.

Когда вы делаете изменения в подмодуле и записываете их в репозиторий, Git фиксирует эти изменения в коммите для подмодуля и сохраняет ссылку на этот коммит в родительском проекте. Это означает, что при работе с родительским проектом вы можете обновить подмодуль до определенного коммита, чтобы получить все изменения, сделанные в подмодуле.

Таким образом, родительский проект отслеживает изменения в подмодуле, чтобы обеспечить согласованность кодовой базы и управлению зависимостями в проекте. Если проект использует подмодуль, это означает, что подмодуль играет важную роль в функционировании проекта и его состояние и изменения нужно отслеживать и контролировать.