Como desfazer um commit e confirmar as alterações no outro branch no Git?

O erro comum que cometi no git é

não verificar em qual ramo eu souconfirmar alterações em um ramo errado (no ramo B, pensando que estou no A, cometendo uma alteração no recurso A)

Como volto e comprometo as edições na ramificação adequada?