Я не уверен, что вы подразумеваете под "git project". В git состояния исходного кода описываются commitits (a.k.a. revisions). Они хранятся в репозиториях, но не зависят от них и могут свободно копироваться между репозиториями. Фактически, для работы с исходными кодами git всегда копирует коммиты в ваш локальный репозиторий, который находится в каталоге .git
вашей рабочей копии. Ветви - это просто имена, указывающие на коммиты.
Таким образом, если у вас есть несколько веток в одном репозитории и другие ветви в другом репозитории, вы можете:
Извлеките оба в ваш локальный рабочий репозиторий:
git remote add B git://url.to/project.B.git
git fetch B
Основывайте свою работу на ветках от B
git checkout -b newname remotes/B/branchname
Переместите ветки, которые вы получили, из одного центрального хранилища в другое:
git push origin remotes/B/branchname:branchname
или наоборот
git push B remotes/origin/master:othername
Вы можете пропустить префикс remotes/
большую часть времени.