Как восстановить дубликаты в Git-дереве - PullRequest
0 голосов
/ 08 февраля 2012

Я не знаю, как, ошибка, я пришел к дереву, как это:

X1--X2--(a lot commits)--X25--X26 (master)
     \                    \
      \                    D1--D2--merge (demo)
       D1'--D2'---------------------/

Где D1 = D1 'и D2 = D2' и слияние пусто.Это дерево было отправлено на сервер, но я работаю над этим единственным.

Не проблема, но я бы хотел упростить это дерево до более логичного.Примерно так:

X1--X2--(a lot commits)--X25--X26 (master)
                          \
                           D1--D2--merge (demo)

Можно ли удалить D1 'и D2' из моего дерева?

1 Ответ

2 голосов
/ 08 февраля 2012

Каждый коммит в git указывает назад на своих родителей.Поскольку merge указывает на коммиты, которые вы больше не хотите иметь, вам нужно избавиться от merge, а не только от D1' и D2'.

. Для этого используйте * 1008.*.Это переместит ваш demo указатель обратно на D2.

Обратите внимание, что вы будете выполнять Very Bad Thing , если вы отправите это на сервер, и кто-то сделал коммит, которыйзависит от merge, D1' или D2'.В их местной истории останутся осиротевшие коммиты!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...