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

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

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

1 ответ1

1

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

подмодули

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

перебазировка

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

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

Вот статья, которую я нашел очень полезной при изучении git rebase .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .