Как отделить дополнительные изменения от коммита слияния в git? - PullRequest
0 голосов
/ 30 августа 2018

Я вносил некоторые изменения в ветку A, и некоторые файлы переименовывались в вышестоящую ветку B, которые я хотел включить. Я сделал слияние и решил некоторые незначительные конфликты. Я тогда и дальше сделал намного больше изменений и забыл совершить слияние. Затем, когда я запустил git status, я понял, что все еще делаю слияние. Затем я зафиксировал все в одном коммите слияния.

* - A (this contains the merge and what should have been a separate commit on A)
|\
| * - B
| |
* |
|/
*

Теперь некоторые изменения произошли в апстриме, и куча файлов была перемещена. Я хочу иметь возможность получить изменения из коммита слияния и перенести ветку на новый B.

Итак, я думаю, что первым делом нужно как-то получить изменения из коммита слияния, которые там не принадлежат:

* - A'
|
| * - B
| |
* |
|\|
| *
| |
* |
|/
*

Я даже не уверен, как сделать эту часть. Я не хочу редактировать коммит вручную. Я думал, что смогу повторить слияние с B на A, а затем каким-то образом переназначить коммит слияния на него, чтобы получить только дополнительные изменения, но я не смог заставить это работать.

Следующее, что нужно сделать, - это перейти на последнюю B:

* - A'
|
*
|
*
 \
  * - B
  |
  *
 /
*

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

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