Хак с Git #3 Объединение нескольких коммитов

Пример ситуации: Вы делаете коммит текущего (не совсем стабильного) состояния рабочей копии, чтобы быстро поработать над какими-то другими задачами. Затем, вернувшись к работе над неоконченной задачей и завершив её вы делаете коммит и … понимаете что забыли проставить “amend”.

История коммитов получается примерно следующая.

ae02b31‌ Хорошие правки [develop]
d8428ca НЕ ПУШИТЬ! Неоконченные хорошие правки
3a18c32 Предыдущие и безусловно тоже хорошие правки [origin/develop]

Не отправлять же такое на сервер? А вот и не придётся.

Мы можем объединить последние два коммита в один, и дать ему хорошее название.

Сделать это очень просто: нам нужно мягко откатиться до коммита, который предшествует нашим неоконченным правкам и затем сделать commit. Вот и всё.

Вместо 3a18c32 подставьте хеш последнего коммита, который был до тех, что вы хотите объединить.

Стоит помнить что это изменение истории. Другими словами, если вы уже сделали push своих недоделанных правок на сервер, то менять их крайне нежелательно.

Поделиться

Leave a Reply