Como criar um alias para dois comandos do Git que usam um parâmetro? [duplicado]

3

Eu regularmente tenho que excluir uma ramificação Git local e remota. Portanto, eu corro os seguintes comandos:

$ git branch -d feature-branch
$ git push --delete origin feature-branch

Como eu principalmente executo esses dois comandos seguidos, gostaria de criar um alias para eles. Aqui está a minha abordagem:

alias gpdo='git branch -d $1 && git push --delete origin $1

No entanto, isso falha com o seguinte erro:

fatal: branch name required

    
por JJD 08.12.2015 / 12:20

1 resposta

7

Quando você quiser que aliases tenham parâmetros, você pode usar funções, por exemplo,

$ gpdo () {
    git branch -d "$1" && git push --delete origin "$1"
}

Então você pode fazer gpdo branch_name

Isso também é útil para vários comandos, embora eles também possam ser feitos com um alias com vários && s se não houver parâmetros e nenhuma lógica condicional, loop, etc. necessário eu mudo para usar funções

O próprio Git também permite aliases, por exemplo, veja:

Você também pode encontrar Git alias multi-comandos com; e & & útil

    
por 08.12.2015 / 12:34