Habilitando conclusões de shell Git no OSX

É difícil acreditar que sobrevivi tanto tempo com Git no shell sem configurar recursos de preenchimento automático no Mac OS X. Mas foi o que aconteceu!
Por fim, fiquei irritado com alguns nomes remotos longos e alguns nomes de ramos longos, a tal ponto que me deram o empurrão certo.

Eu tenho um PC antigo, com Snow Leopard e MacPorts .
Com base neste artigo em superuser.com , parecia muito simples de fazer:

sudo port selfupdate
sudo port install git
-core +bash_completion

Você deve prestar atenção à saída desses comandos.
Em algum lugar no meio da etapa de instalação mencionou que os recursos de conclusão só funcionarão na versão Bash> = 4.1.
Verificando o que tenho em mãos:

$ echo $BASH_VERSION 
3.2.48(1)-release
$ echo $SHELL

/bin/bash
$ which bash

/opt/local/bin/bash
$ bash
--version
GNU bash
, version 4.2.45(2)-release (i386-apple-darwin10.8.0)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Portanto, meu shell atual é a /bin/bashversão 3.2,
mas já existe uma versão 4.2 em meu sistema em /opt/local/bin/bash.
Vamos mudar minha concha:

$ chsh -s /opt/local/bin/bash
Changing shell for janos.
Password for janos:
chsh
: /opt/local/bin/bash: non-standard shell

Não funcionou, aparentemente porque o shell que especifiquei “não é padrão”.
De acordo com a página do manual de chsh,
shells padrão são aqueles listados em /etc/shells.
Este Bash 4 foi instalado por MacPorts,
e eu o considero um shell padrão,
então vamos adicioná-lo à lista:

echo /opt/local/bin/bash | sudo tee -a /etc/shells 

Depois disso, eu poderia mudar meu shell
e , em uma nova janela de terminal ou guia, começar a aproveitar o preenchimento automático nos comandos do Git, sim!
Mais importante ainda em operações com controles remotos e filiais.