Використовуйте інтерактивну базу даних:
git rebase -i SHA-OF-FIRST-COMMIT-IN-BRANCH
Це відкриє щось подібне у вашому $ EDITOR:
pick 8ac4783 folders and folders
pick cf8b1f5 minor refactor
pick 762b37a Lots of improvement. Folders adn shit.
pick 3fae6e1 Be ready to tableview
pick b174dc0 replace folder collection view w/ table view
pick ef1b65b more finish
pick ecc407f responder chain and whatnot
pick 080a847 play/pause video
pick 6719000 wip: movie fader
pick c5f2933 presentation window fade transition
# Rebase e6f77c8..c5f2933 onto e6f77c8
#
# Commands:
# p, pick = use commit
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
Отже, ви просто видаляєте рядок, що містить коміт налагодження, пишете файл і закриваєте свій редактор, і git скаже вам щось на зразок:
Successfully rebased and updated refs/heads/master.
Тепер ви можете просто об’єднатись у цій гілці, щоб освоїти.
ОНОВЛЕННЯ: Слід зазначити, що зміна історії з rebase
має відбуватися лише у приватних гілках. Якщо ця гілка була відкритою для громадськості, використовуйте, git revert
як запропонував інший відповідач.