Реорганизация комков в коммиты

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

Просто чтобы прояснить это, я обязую А с ханками А1, А2, А3, а также В с ханками В1, В2, В3. Я хочу проверить версию, предшествующую A, и получить новый коммит C с ханками A1, A2, B2 и новый коммит D с ханками B1, B3, A3.

Заранее спасибо.

2 ответа

Решение

Взгляни на git rebase Расщепление совершает.

Похоже, вы хотите совершенно разные наборы коммитов. Если это так, просто вернитесь к источнику (например, git reset origin/master), а затем используйте git add -p и git commit несколько раз, пока не закончите. При желании вы можете использовать git stash для проверки каждого коммита после коммита и использовать git --amend для исправления любых ошибок.

Кроме того, git rebase -i может фактически разделять коммиты. Прочитайте справочную страницу, это не сложно, но немного надоедливо.

Другие вопросы по тегам