Как сдавить коммиты, когда есть коммиты, которые не относятся к текущему PR - PullRequest
1 голос
/ 08 мая 2019

Если я сделаю git rebase -i HEAD~5, я получу

pick <hash1> CURR_PR
pick <hash2> PREV_PR_I_WORKED_ON
pick <hash3> WIP: another commit I want to squash in to CURR_PR
pick <hash4> WIP: yet another commit I want to squash in to CURR_PR
pick <hash5> WIP: and finally one more commit I want to squash in to CURR_PR

Обычно я просто заменяю все pick s ниже CURR_PR на s, а затем изменяю и очищаю сообщение фиксации.Однако по какой-то причине у меня есть коммит с <hash2> в пути, и я не хочу вдавить в этот коммит.

Как я могу раздавить коммиты с hash3, hash4, hash5, чтобы коммитить с hash1 * * 1013

1 Ответ

1 голос
/ 08 мая 2019

Предположим, что вы хотите сохранить изменения коммита <hash2>, просто переместите строку <hash2> коммита, где бы вы ни захотели:

pick <hash1> CURR_PR
squash <hash3> WIP: another commit I want to squash in to CURR_PR
squash <hash4> WIP: yet another commit I want to squash in to CURR_PR
squash <hash5> WIP: and finally one more commit I want to squash in to CURR_PR
pick <hash2> PREV_PR_I_WORKED_ON

В этом случае у вас будет один коммит, который раздавит <hash1>, <hash3>, hash4 и <hash5>, и коммит, содержащий изменения <hash2>

Если вы хотите удалить изменения коммита <squash2>, просто удалите строку.

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