Предположим, SubRepo
- это git-репо, управляющее ссылочным проектом (ABC.cs
), MainRepo
- это git-репо, в которое вы хотите добавить ссылки из внешнего репо (SubRepo). Ниже приведены способы достижения по подмодулю и поддереву отдельно:
Вариант 1: подмодуль
Чтобы добавить SubRepo
в качестве подмодуля для MainRepo
, вы можете использовать следующие команды:
# In the directory of the local MainRepo directory, such as C:\MainRepo
git submodule add <URL for SubRepo>
git commit -m 'add SubRepo as a submodule for the MainRepo'
git push
Теперь все файлы SubRepo
добавляются в подкаталог C:\MainRepo\SubRepo
, затем вы можете ссылаться на файлы в этом подкаталоге, фиксировать и отправлять и изменять.
Примечание: Если файлы в SubRepo
обновлены, вы можете обновить подмодуль в MainRepo
соответственно с помощью следующих команд:
git submodule update --remote
git commit -am 'update submodule'
git push
Вариант 2: поддерево
Чтобы добавить SubRepo
в качестве поддерева для MainRepo
, вы можете добавить файлы ветви SubRepo в подкаталог Mainrepo
. Команды для добавления поддерева, как показано ниже:
git subtree add --prefix=subfolder <URL for SubRepo> master
git push
Теперь добавьте файлы ветки master
SubRepo в подпапку subfolder
MainRepo
, объедините и зафиксируйте изменения в MainRepo
.
.
Примечание: Если файлы обновляются в SubRepo
, вы можете обновить поддерево MainRepo
с помощью следующих команд:
git subtree pull --prefix=sub <URL for SubRepo> master
git push