Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Como criar um alias no .gitconfig passando um parâmetro

Gostaria de saber se existe a possibilidade de criar um alias no arquivo .gitconfig passando parâmetros como nomes de duas branchs por exemplo:

publica = !git checkout <branch1> && git pull && git checkout <branch2> && git rebase <branch1> && git checkout <branch1> && git merge dev && git push

OBS: <branch1> e <branch2> seriam os parâmetros.

3 respostas

Bom dia,

caso você esteja no Linux, já tentou editar diretamente o arquivo .gitconfig adicionando a seguinte linha na seção [alias]:

[alias]
    publica = "!sh -c 'git checkout $1 && git pull && git checkout $2 && git rebase $1 && git checkout $1 && git merge dev && git push' -"

A chamada seria

git publica branch1 branch2

O alias em questão faz uma chamada ao shell do Linux - sh - para executar o comando do git. O hífen ao final do alias é para indicar que a referência aos parâmetros começa a partir de $1, $2, etc.

Obrigado Italo. Mas tentei adaptar pro MacOS e não consegui. Sabe como ficaria este mesmo comando no MacOS?

solução!

Não tenho Mac mas já vi usuários de Mac relatando que descartam a parte do sh -c e o hífen no final e funciona. Pode tentar também:

[alias]
    publica = "!git checkout $1 && git pull && git checkout $2 && git rebase $1 && git checkout $1 && git merge dev && git push"

Talvez seja necessário alterar $1 para $0 e $2 para $1.

Outra maneira seria tentar utilizar uma função do shell:

[alias]
    publica = "!f() { git checkout $1 && git pull && git checkout $2 && git rebase $1 && git checkout $1 && git merge dev && git push; }; f"