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

StackOverflow https://stackoverflow.com/questions/1343802

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top