Quebra de linha PS1 com problema de cores

Aqui está minha variável PS1:

PS1='\u:\W$(__git_ps1 "\e[32m\][%s]\e[0m\]")$ '

Funciona muito bem para pegar minha ramificação Git, mas tem o efeito colateral infeliz de quebrar as linhas quando as cores estão ativas, para que elas se sobreponham quando você usa comandos longos.

Alguém com habilidades mágicas no PS1 pode me ajudar a consertar isso?

questionAnswers(3)

yourAnswerToTheQuestion