Есть удалённый репозиторий основного проекта, в котором в каталоге cite лежит содержимое другого подпроекта.
Реализована данная схема была согласно этому руководству.
Добавил удалённый сервер подпроекта:
git remote add cite_serv user@server:/opt/git/citegit fetch cite_servgit checkout -b cite_project cite_serv/mastergit checkout mastergit read-tree --prefix=cite/ -u cite_projectВ итоге (практически цитата): после того как вы сделаете коммит, все файлы проекта сite_project будут находиться подкаталоге cite — будто вы скопировали их туда из архива.
Плюсом подхода является то, что можно лего последние изменения подпроекта вытягивать в соответствующую ветку и потом её объединять через
git merge --squash -s subtree --no-commit cite_projectТеперь сложности: Прихожу домой, клонирую основной проект.
git clone user@server:/opt/git/letterПри повторении предыдущей последовательности команда
git read-tree --prefix=cite/ -u cite_project error: Entry 'cite/LibraryDB.bib' overlaps with 'cite/LibraryDB.bib'. Cannot bind.Вопрос такой: можно ли как-то ветку подпроекта (cite_project), которая создалась после git checkout -b cite_project cite_serv/master объединить с уже существующей папкой cite в основном проекте? И чтобы она смотрела на cite_serv/master?
Сейчас использую такой костыль:
Удаляю в клонированном проекте папку cite
git rm -r cite/git read-tree --prefix=cite/ -u cite_projectПри таком подходе теряются изменения, которые были внесены в cite в основном проекте, но ещё не были отправлены в репозиторий подпроекта.

