Представьте себе следующий макет:
a/
.git/
somefile1
somefile2
dir1/
.git/
file1
file2
Если вы введете git add dir1/file1
или git dd dir1/
, вы просто добавите файлы, например "dir1 / file1".Но если вы сделаете git add dir1
или git add .
, git просто добавит указатель на последний коммит в подкаталог "dir1" без добавления содержимого.Он создаст подмодули (для правильной настройки вам также понадобится настроить .gitmodules).«git gui» также будет видеть его в качестве кандидата на подпроект.
Вы можете включать файлы в оба независимых репозитория (например, «dir1 / file1» в первом, «file1» в другом) и «git checkout»"(или другие команды) в одном репозитории будет выглядеть как просто редактирование файлов в другом.
Вы должны взглянуть на diff (как в" git diff HEAD ") перед тем, как подтвердить, что вы являетесьделает.Если это похоже на «Subproject commit b6030fea2687a6133c3a8d97e270485d9b5e552f», то это просто добавление указателя на другой репозиторий, если это обычный diff, то подпроекты не используются, и вы просто добавляете файлы оттуда.