Um shell function provavelmente seria mais adequado que um alias em um shell moderno (a menos que você esteja usando tcsh ). Para ZSH isso pode parecer algo como:
function clonecd {
local dir
if [[ $# -eq 2 ]]; then
git clone -- $1 $2 || return
dir=$2
else
git clone -- $1 || return
dir=${1:t}
fi
builtin cd $dir
}
que permite os formulários clonecd git://.../somerepo e clonecd git://.../somerepo someotherdir , além de uma verificação de erros variada.
Um shell POSIX, como bash , precisará de uma cotação das variáveis ( git clone -- "$1" e assim por diante) para evitar estupidez ), e provavelmente alguns outros meios além de ${1:t} para extrair a cauda do caminho do repositório.