коммит на 2
Удалил часть кода, которого не должно быть в более раннем коммите, но хочу чтобы он добавился в следующем
Как это провернуть? Есть идея:
Удалить код, сделать патч, но с обратными изменениями, сделать аменд и применить реверсированный патч в новый коммит.
Может есть более лаконичное решение?
edit на нужном коммите, потом reset head~, после чего дифф закоммитить в два новых коммита?
Проблема в том, что придётся меж строк как-то коммитить. А я просто удаляю и собираю, т.к. так проще
Смотрите, делаете в два интерактивных рибейса. Сначала edit на целевом, удаляете ненужное, коммитите (без аменда), тут же revert head. Потом снова запускаете рибейс, первый новый коммит фиксапите к целевому (fixup), а второй новый если нужно перемещаете перед вторым целевым, и у второго целевого squash
А вот эта схема мне нравится, спасибо
Я довольно часто проворачиваю этот финт, поэтому чуть ли не на автомате уже. Если возникнут трудности или вопросы -- пишите. И не забывайте про рефлоги (ну или бэкап ветки сделайте на всякий случай перед этими операциями).
ага, я тут распиливаю наследие в виде огромного диффа и решил гарантировать собираемость на каждом коммите. Уже куча бэкап веток)
Весьма похвальное намерение 👍
Обсуждают сегодня