Вы можете использовать этот псевдоним Bash ручной работы clone
(см. Ниже) следующим образом:
$ clone https://github.com/coq/coq.git ~/git/
+ git clone https://github.com/coq/coq.git /home/user/git/coq/coq
Cloning into '/home/user/git/coq/coq'...
$ clone git@github.com:coq/coq.git .
+ git clone git@github.com:coq/coq.git ./coq/coq
Cloning into './coq/coq'...
Он работает с репозиториями HTTPS и SSH GitHub:
alias clone='f(){ [[ $# -ne 2 ]] && { echo "\$ clone git@github.com:user/repo.git ."; return 1; } || ( tmp="${1##*github.com?}"; set -x; git clone "$1" "${2%/}/${tmp%.git}" ) }; f'
Но если вы не хотите автоматически добавлять имя пользователя репозитория GitHub и хотите одновременно обобщать его с другими URL-адресами Git, не связанными с GitHub, вы можете просто заменить tmp="${1##*github.com?}"
на tmp="${1##*/}"
:
alias clone='f(){ [[ $# -ne 2 ]] && { echo "\$ clone git@github.com:user/repo.git ."; return 1; } || ( tmp="${1##*/}"; set -x; git clone "$1" "${2%/}/${tmp%.git}" ) }; f'
Например:
$ clone https://github.com/coq/coq.git ~/git/other-user
+ git clone https://github.com/coq/coq.git /home/user/git/other-user/coq
Cloning into '/home/user/git/other-user/coq'...