Предположим, у меня есть такое дерево:
... -- a -- b -- c -- d -- ...
\
e -- a -- k
, и я хочу, чтобы оно стало просто
... -- a -- b -- c -- d -- ...
Я знаю, как прикрепить имя ветки к «e». Я знаю, что то, что я собираюсь сделать, изменит историю, и это плохо. Также я думаю, мне нужно использовать что-то вроде rebase или filter-branch. Но как именно - я заблудился.
Хорошо. Ситуация следующая: у меня сейчас довольно большое дерево (как это)
s -- p -- r
/
a -- b -- c -- d -- e --- g -- w
\ \
t -- p -- l y -- k
, но в одном из моих первых коммитов (например, «b») я добавил бинарные файлы, что делает репо очень тяжелым. Я решил их забрать. Я сделал это с помощью filter-branch. И теперь у меня есть 2 длинные ветви коммитов, идентичных друг другу, начиная со второго коммита.
s -- p -- r
/
a -- b -- c -- d -- e --- g -- w
\ \ \
\ t -- p -- l y -- k
\
\ s'-- p'-- r'
\ /
b'-- c'-- d'-- e'--- g'-- w'
\ \
t'-- p'-- l' y'-- k'
где b '- это коммит без бинарного файла в нем. Поэтому я не могу выполнить слияние. Я не хочу, чтобы все это дерево в истории дублировалось.