Использовать интерактивную перебазировку:
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
, как предложено другим ответчиком.