пятница, 1 апреля 2016 г.

Как в git разбить один комит на несколько

Метода описана в мануале по гиту, однако, напишу и себе, чтоб не забыть.
git rebase -i <хэш_комита>^ (не забываем про ^ в конце)
В появившемся редакторе в первой строчке пишем edit вместо pick.
git reset HEAD^
Сейчас рабочий католог находится в состоянии как будто вы еще не сделали тот комит, который нужно разбить.
git add -p .
Клавишами 'y' и 'n' выбираем фрагменты, которые должны войти в первый разбитый комит. Если предлагаемый фрагмент слишком большой, его можно сократить клавишей 's' или даже подредактировать клавишей 'e' (при условии, что вы хорошо понимаете то, что делаете).
Делаем первый комит:
git commit -m"Комментарий".
Повторяем последние две команды пока не закончите разбиение, а затем делаем:
git rebase --continue
Если тут гит начнет ругаться, что не может сделать пустой комит, то это значит, что вы забрали из первоначального комита все изменения и он стал пустым. Тогда наберите:
git rebase --skip
Заканчиваем, если нужно, ребейс git rebase --continue. Внимательно читаем выводимые сообщения, чтобы убедиться, что мы не застряли посреди ребейса с каким-нибудь конфликтом.

Комментариев нет:

Отправить комментарий