У меня есть несколько полезных псевдонимов git, которые я использую, в основном отсюда:

https://haacked.com/archive/2014/07/28/github-flow-aliases/#the-list

Однако я упускаю одну вещь: всякий раз, когда я клонирую репозиторий, я 100% времени захочу зайти в эту папку сразу после этого.

Есть ли способ сделать этот псевдоним?

Я предполагаю, что для этого потребуется взять первый ряд, возвращенный в STDOUT, и проанализировать его с помощью регулярного выражения Cloning into '(.+?)'... , затем перейдите в эту папку.

1 ответ1

2

function оболочки, вероятно , будет более подходящей , чем alias в современной оболочке (если вы не используете tcsh Для ZSH это может выглядеть примерно так:

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
}

что позволяет использовать формы clonecd git://.../somerepo и clonecd git://.../somerepo someotherdir , а также некоторую различную проверку ошибок.

Оболочке POSIX, такой как bash , вместо этого понадобится заключать в кавычки переменные (git clone -- "$1" и т.д., Чтобы избежать глупости) и, возможно, использовать другие средства, кроме ${1:t} для извлечения хвоста пути репозитория.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .