git clone
recebe um argumento adicional: o diretório a ser usado. Você pode fazê-lo clonar no diretório de trabalho atual com git clone URL .
. Então, não há necessidade de alterar o diretório de trabalho; você já está lá.
Se você realmente quer que o comando git
altere o diretório de trabalho, você pode mudá-lo para uma função que chama o% realgit
quando necessário:
git()
{
local tmp=$(mktemp)
local repo_name
if [ "$1" = clone ] ; then
/usr/bin/git "$@" | tee $tmp
repo_name=$(awk -F\' '/Cloning into/ {print $2}' $tmp)
rm $tmp
printf "changing to directory %s\n" "$repo_name"
cd "$repo_name"
else
/usr/bin/git "$@"
fi
}