Я сделал большой рефакторинг некоторого кода, и в процессе, который я совершил несколько раз. Это еще не доведено до публичного репо. Прежде чем нажимать, я бы хотел, чтобы теперь реорганизовать коммиты в логические единицы. Проблема в том, что я хочу не только совершать сквош, но и реорганизовать куски в другие коммиты.Реорганизация hunks в commits
Просто, чтобы было ясно, я совершил A с кусками A1, A2, A3 и совершил B с помощью кусков B1, B2, B3. Я хочу проверить версию, предшествующую A, и иметь новый commit C с hunks A1, A2, B2 и новый commit D с hunks B1, B3, A3.
Заранее спасибо.
С такой сложной реорганизацией наиболее простой способ состоит в том, чтобы сначала полностью разделить ваши коммиты, а затем сделать вторую интерактивную перестановку, чтобы переставить и сквоить их по своему желанию. – Cascabel
Другим важным советом является то, что вы можете использовать 'git stash', чтобы много помочь: после того, как вы сбросите HEAD ^', чтобы переместить отзыв ветви, добавьте то, что вы хотите для своего первого коммита, запустите 'git stash --keep -index', чтобы отбросить все незаполненные изменения, но сохранить индекс, проверить, что там, совершить, а затем использовать «git stash pop», чтобы вернуть остальное. Таким образом, вы можете чисто проверить, что вы совершаете, как будто вы разумно сделали только эти изменения. Намочите, промойте, повторите! – Cascabel
@Jefromi, я думаю, вы должны были разместить эти комментарии как ответ самостоятельно. Это хороший совет, на мой взгляд. –