A resposta que descobri que funciona mais como na minha caixa de Linux é definir um alias em seu .bashrc:
alias gvim='start gvim'
Esta ainda não é a solução mais ideal, mas parece um pouco mais limpa para mim do que criar uma função. Também não imprime a linha de identificação do processo (exemplo: "[1] 6840") quando você o executa ou quando você fecha a janela externa.
Isso ainda tem o problema da correção de função que só funciona para as coisas para as quais você cria um alias. Então o bloco de notas , por exemplo, ainda bloqueia seu bash, a menos que você crie um alias start notepad . Com base em esta postagem no blog do MSDN , parece que os executáveis do Windows têm um sinalizador que diz ao console se é ou não um aplicativo GUI, mas pelo que eu posso ver, o git bash não diferencia com base nesse sinalizador da mesma maneira que o cmd.exe faz. Se você pudesse anexar algo a cada comando digitado que verificaria o .exe para o sinalizador da GUI e prefixar iniciar com base no seu resultado, então seria bom ir.