FreeSource : AltLinux/Sisyphus/devel/git/recommit

Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

Как поправить commit


Для последнего коммита достаточно git commit --amend, который перезакоммитит при выполнении ряда разумных условий добавленные после коммита изменения «заодно».

ниже — фрагмент письма Alexey Tourbin в devel@
[...]

То есть по сути иногда не хочется делать новые коммиты, которые
являются мелкими исправлениями к предыдущим коммитам. Поэтому я
предлагаю такое правило для использования git push --force: нельзя
заменять коммиты дальше последнего публичного тага, или же дальше
коммита, отправленного на сборку в incominger.

Допустим, что эти условия выполнены, а исправления мелких/глупых ошибок
не хочется оформлять отдельно. Для примера объясню, как поправить
пред-предпоследний коммит.

Сначала нужно сохранить текущую работу во временный бранч:

Потом нужно откатить работу до пред-предпоследнего коммита:

Теперь нужно поправить пред-предпоследний коммит, который стал текущим:

Затем поверх пред-предпоследнего коммита нужно накатить предпоследний и
последний коммиты из сохраненного бранча:

Осталось только удалить временный бранч:

После этого уже можно сделать

(Последнее означает, что содержимое .git/remotes/git.alt может выглядеть
как URL: git.alt:/people/$USER/packages/%name.git)

Страницы, ссылающиеся на данную: AltLinux/Sisyphus/devel/git