Реорганизация комков в коммиты - PullRequest
2 голосов
/ 21 октября 2010

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

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

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

Ответы [ 2 ]

5 голосов
/ 21 октября 2010

Взгляните на git rebase, разбиение коммитов .

4 голосов
/ 21 октября 2010

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

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

...