Git alias para fazer cd no repo recém-clonado

0

Eu tenho alguns aliases úteis do git que eu uso, principalmente daqui:

link

Uma coisa que eu estou perdendo, é que sempre que eu clona um repositório, eu vou 100% do tempo querer cd naquela pasta logo em seguida.

Existe uma maneira de criar esse alias?

Eu estou supondo que isso envolveria pegar a primeira linha retornada em STDOUT e analisá-la com regex Cloning into '(.+?)'... e, em seguida, copiar para essa pasta.

    
por Sarke 23.08.2018 / 01:20

1 resposta

2

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.

    
por 23.08.2018 / 03:28

Tags