Удалить / скрыть ветки git без удаления истории коммитов
Ситуация:
У меня есть главный репозиторий с основной веткой разработчика и множеством веток «эксперимента», происходящих из него (например,exp1
а такжеexp2
). Цель этих ветвей эксперимента состоит в том, чтобы служить заполнителями для экспериментов, которые генерируют численные результаты. Я записываю имя ветви (и идентификатор фиксации) веток эксперимента, чтобы я мог вернуться к коммитам, чтобы точно увидеть код и историю за результатами.
Но сейчас есть так много веток эксперимента, что становится трудно увидеть главное дерево. Поэтому я переосмысливаю свою стратегию сохранения заполнителей в коде каждого набора результатов (т. Е. Каждого эксперимента). Очевидно, что я мог бы просто сохранить рабочий каталог в каждой ветви, но было бы неплохо также сохранить историю коммитов.
Возможное решение:
Один из способов справиться с этим - переместить ветви эксперимента в свои собственные независимые репозитории, каждая из которых имеет корни в дочернем узле соответствующего узла в истории фиксации ветви dev. Вот иллюстрация того, что я имею в виду:
НажмитеВот для большей версии изображения (на imgur.com).
Так, например, для отраслиexp1
Я хотел бы экспортировать коммитыA->B->C
в отдельном репо, основанном на коммитеA
, Затем я могу просто записать хэш коммитаP1
так что я знаю гдеexp1
ветка сошла с.
Вопрос:
Как я могу это сделать?
Лучший вопрос:
С другой стороны, я сильно подозреваю, что есть гораздо лучшая стратегия для выполнения того, что я хочу сделать, а именно, чтобы не загромождать дерево для визуального осмотра, но сохранять заполнители для предыдущих ветвей, чтобы я мог вернуться к ним, если это необходимо. Итак, кто-нибудь может порекомендовать стратегию для этого?