Как отслеживать внешний код в git

Как отслеживать внешний код в git

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

Как я могу отслеживать изменения во внешних источниках кода, сохраняя при этом свой код нетронутым?

Могу ли я создать отдельную ветку для каждого внешнего источника и всякий раз, когда они его обновляют, регистрировать свои изменения в этой ветке, а затем выполнять трехстороннее слияние с основной веткой?

решение1

Нужно ли объединять каждый внешний источник с основным проектом или их можно хранить отдельно как библиотеки/модули/плагины?

Подмодули

Если это библиотеки, которые вы хотите изменять и отслеживать в git, вы можете использоватьподмодули. Это позволяет вам хранить проект внутри проекта и упрощает обновление из этого источника проекта, внося любые собственные изменения.

Перебазирование

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

При перемещении вы, по сути, добавляете один набор коммитов за другим, создавая впечатление, что все кодируется линейно, один за другим.

Вот статьяЯ обнаружил, что это действительно полезно во время обучения git rebase.

Связанный контент