git перебрасывание ветки против более позднего мастера - PullRequest
0 голосов
/ 04 мая 2020

Первоначально я разветвился от master (A) и сделал коммит (B) в своей ветви функций ... затем слил изменения из master (C как D) и сделал еще один коммит (E) , используя изменения от этого слияния:

-A--C
 \  \
  B--D--E

Теперь я хотел бы удалить сам коммит слияния (D) и очистить историю моей ветви, перебазировав всю мою ветку против позже master (C):

-A--C
    \
    B--E

Однако я достаточно запутался в том, как это сделать sh.

1 Ответ

1 голос
/ 04 мая 2020

«ручной» подход будет следующим:

git checkout --detach C
git cherry-pick B
git cherry-pick E

Тогда вы можете установить здесь ответвление:

git branch -f some-branch
git checkout some-branch
...