Tu PATH contiene ~/bin sin expandir . Tu shell entiende lo que ~/ significa pero git aparentemente no. Debe incluir la ruta completa a ~/bin en tu PATH .
Si usaste PATH=~/"bin:${PATH}" en lugar de PATH="~/bin:${PATH}" , se produciría una expansión de tilde y PATH almacenaría la ruta expandida. Pero hay un problema con :~/bin: dentro de [[ ]] . No citar la tilde no es la única condición (ver "Expansión de la tilde" en man 1 bash ), esto hace que expandir :~/bin: difícil. Y debe expandirlo para probarlo con la ruta completa en PATH .
Es más fácil usar $HOME :
[[ ":$PATH:" != *":$HOME/bin:"* ]] && PATH="$HOME/bin:${PATH}"
export PATH
$HOME se expande antes de que toda la cadena se asigne al PATH variable. Esto significa PATH ahora contiene el completo ruta a tu $HOME/bin . git entenderá este camino.