2016-04-11 3 views

ответ

20

Затем вы должны использовать подмодули для этой задачи.

Подмодуль - это разные репозитории git под одним и тем же корнем.
Таким образом, вы можете управлять 2 разных проекта на уровне папок внутри корневого хранилища

Submodulesпозволяют иностранным хранилищами быть встроены в выделенном подкаталоге дерева источника, всегда указывал на конкретная фиксация.


git submodule

Разбейте свой большой проект для подпроектов, как вы делали до сих пор.
Теперь добавьте каждый суб проект к вам основному проекту с помощью:

git submodule add <url> 

После того как проект будет добавлен в репозиторий, вы должны инициализировать и обновлять его.

git submodule init 
git submodule update 

На Git 1.8.2 новый вариант --remote был добавлен

git submodule update --remote --merge 

будет fetch последние изменения от входа в каждый подмодуль, merge them in и check out последняя редакция подмодуля.

the docs Как описать:

--remote

Эта опция действительна только для команды обновления. Вместо использования зарегистрированного SHA-1 суперпроекта для обновления подмодуля, используйте состояние ветви удаленного отслеживания подмодуля.

Это эквивалентно запуску git в каждом подмодуле.


Однако, как бы я нажимаю фиксации в сценарии исправления ошибки в C, который влияет на код совместно с родительскими слоями?

снова: использование подмодуль будет поместить код внутри вашего основного проекта в рамках его содержания. Разница между его локальным в папке или наличием ее как части подмодуля заключается в том, что в субмодуле контент управляется (заносится) в другой автономный репозиторий.


Это иллюстрация подмодуля - проект внутри другого проекта, в котором каждый проект является автономным проектом.

enter image description here


git subtree

Git поддерево позволяет вставить любой репозиторий в подкаталог другого одного

Очень похож на submodule, но основное отличие заключается в том, где ваш код управляется. В подмодулях содержимое помещается внутри отдельного репо и управляется там, что позволяет вам клонировать его также и ко многим другим репозиториям.

subtree управляет содержанием как часть корневого проекта, а не в отдельном проекте.

Вместо того, чтобы записывать, как настроить его и понять, как его использовать, вы можете просто прочитать этот отличный пост, который объяснит все это.

https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/

+0

Великая ссылка на Подмодули и поддерева. Я не вижу, чтобы вы явно обращались к подкаталогу исходного репозитория в репозитории назначения. – skitheo

Смежные вопросы