A resposta para a pergunta depende se:
Você deseja remover o primeiro e apenas confirmar em uma ramificação (enquanto deixa outras ramificações como eram) ou se
Você deseja remover o primeiro commit em alguma ramificação, enquanto 'deixa no lugar' as confirmações subsequentes (e as outras ramificações).
O segundo deles é relativamente mais simples. Você basicamente precisa se refazer na raiz - a maioria das respostas aqui são sobre maneiras de fazer isso.
Fazer o segundo (remover o primeiro e apenas confirmar de um ramo, deixando outros ramos em paz) é mais difícil. Ou, pelo menos, especialmente mais difícil se você quiser que isso aconteça e que a mudança seja refletida no GitHub ou no Bitbucket. Não há (até onde eu saiba) nenhuma maneira no Git de empurrar ou forçar a empurrar um ramo sem confirmação. E também há (novamente, até onde eu vejo), nenhuma maneira de criar um novo ramo vazio, sem confirmações no GitHub ou no Bitbucket. Portanto, você basicamente precisa criar um novo repositório para criar uma ramificação completamente vazia e, em seguida, adicionar novamente as ramificações que deseja (incluindo as confirmações que deseja) - conforme a resposta de @ user1338062.
Espero que esta resposta esclareça o que pode não ter sido óbvio - que existem duas abordagens diferentes que precisam ser adotadas, para dois cenários diferentes (mais ou menos razoáveis), que são as duas coisas que você pode querer fazer, para dominar completamente o que o OP pede.