Ответы:
Похоже, вы хотите использовать подмодули Git .
Git решает эту проблему с помощью подмодулей. Подмодули позволяют сохранить репозиторий Git в качестве подкаталога другого репозитория Git. Это позволяет клонировать другой репозиторий в свой проект и сохранять отдельные коммиты.
Я всегда использовал символические ссылки для поддержки двух отдельных репозиториев.
.gitignore
?
rsync -avh --delete --exclude='.git' REPO-B/ REPO-A/REPO-B-copy/
за изменениями в РЕПО-Б
Да, вы можете делать именно то, что просите, с нарисованной вами иерархией файлов. Репо-Б будет независимым и не будет знать о Репо-А. Repo-A будет отслеживать все изменения в своих файлах и файлах Repo-B.
Однако я бы не рекомендовал это делать. Каждый раз, когда вы меняете файлы и делаете коммит в Repo-B, вам придется делать коммит в Repo-A. Ветвление в Repo-B будет мешать с Repo-A, а ветвление в Repo-A будет нестабильным (проблемы с удалением папок и т. Д.). Подмодули определенно подходят.
Вы можете добиться того, чего хотите (репозиторий REPO-A содержит все файлы, включая файлы в папке REPO-B, а не только ссылку), используя "git-subrepo":
https://github.com/ingydotnet/git-subrepo
Он по-прежнему работает, если у некоторых из ваших участников не установлена команда subrepo; они увидят полную структуру папок, но не смогут фиксировать изменения во вложенных репозиториях.