Alternando branch com repo para código-fonte Android

Acho que trabalhar com repo é tão difícil quanto trabalhar com o código-fonte do Android. Ou seja, enfrentou muitos problemas ao trabalhar com diferentes versões do código-fonte do Android. Então, procurei por ajuda do comando repo, mas não encontrei muita ajuda. Então, experimentei um pouco e descobri uma boa maneira de trocar de branch.

Comando git reset para remover as mudanças que você fez

$ repo forall -c git reset --hard

em seguida, inicialize o repo com novo branch. Suponha que você tenha verificado a versão 4.0.4 r1.2 e deseja reverter para 4.0.1 r1 (que era o meu caso na verdade) então

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

Repo de sincronização

$ repo sync

É aplicável para todas as combinações
e a mágica acontece.