Ведение ветвей разработки, где одна ветвь является подмножеством другой ветки - PullRequest
3 голосов
/ 28 августа 2009

Справочная информация : Я унаследовал некоторый код MATLAB для анализа данных для моей кандидатской диссертации. исследование. Чтобы помочь мне лучше понять код, я сократил код до минимального подмножества файлов, необходимых для запуска кода для примера теста.

Вопрос : Я хотел бы зафиксировать этот код в системе управления версиями в виде двух ветвей, ветви master, содержащей весь код, и ветви minimal, содержащей мою урезанную версию кода, и иметь возможность объединять изменения вперед и назад между этими ветвями. Как мне это сделать?

Я бы предпочел сделать это с одним рабочим каталогом и именованными ветвями в Git или Mercurial, но я открыт для других предложений.

Редактировать : Я думал, что видел предыдущий вопрос переполнения стека по этим направлениям, и я только что нашел это: Pushing обновления на обрезанную ветвь ртути . В комментарий к принятому ответу, это упомянул, что термин для того, что я пытаясь сделать это "узкое клонирование" и что это работа над Git и ртутный.

1 Ответ

4 голосов
/ 28 августа 2009

Как git, так и mercurial должны нормально работать. Создайте основную ветвь, затем скопируйте ее в минимальную ветвь, затем обрежьте минимальную ветвь, чтобы она выглядела как уже имеющаяся реализация (удалите все дополнительные файлы, скопируйте файлы, которые вы изменили).

С этого момента используйте регулярные команды слияния между ветвями. Вероятно, лучше всего объединить минимальную ветвь с основной ветвью. Объединение в другую сторону, скорее всего, вызывает жалобы на то, что объединение не удалось (с конфликтами), поскольку некоторые файлы применяются к удаленным файлам / удаленным функциям.

...