Как я могу удалить уже слитую ветку и сохранить дату - PullRequest
0 голосов
/ 27 апреля 2018

Предположим, что следующая история Git с магистрали A и уже слитой ветвью B.

                  b1     b2
             -----•------•---            B
            /                \
   •------•----•--------------•-------•  A
   a1     a2   a3             a4      a5   

a4 - коммит слияния с коммитом "слияние B" в A.

Можно ли изменить историю на следующую.

                    b1'  b2'
   •-----•-----•-----•-----•-----•  A
   a1     a2   a3                a5  

редактирование: Я не хочу менять дату фиксации, если это возможно.

1 Ответ

0 голосов
/ 27 апреля 2018

git cherry-pick сохраняет дату коммита

1) перейти на коммит a2 git checkout a2
2) создать новую ветку C git branch C
3) перейти в новую ветку C git checkout C
4) извлечь из ветви git cherry-pick a3 b1 b2 a5
5) вернитесь к A git checkout A
6) навсегда удалить все новее, чем совершить a2 git reset --hard a2
7) извлечь из ветви C git cherry-pick a3 b1 b2 a5
8) И хорошо, чтобы удалить ветку C, удалить ветку C git branch -D C

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