Durante o trabalho utilizo o terminal para executar comandos do git, porém percebo que muitas vezes utilizo o mesmo comando repetidamente. Durante o Gitflow repetimos comandos git como checkout, status e log, para facilitar podemos utilizar apelidos (alias). Edite o arquivo ~/.gitconfig
A própria documentação do git fornece alguns apelidos básicos, vejamos:
st = status
br = branch
co = checkout
cm = commit
Essa técnica se torna poderosa e útil, pois permite criar comandos um pouco mais complexos:
Retirar do stage um arquivo
unstage = reset HEAD --
O log do último commit:
last = log -1 HEAD
Log personalizado:
lg = log --all --graph --decorate --oneline --abbrev-commit
Podemos também adicionar comandos externos.
Chamada de um programa
visual = !gitk
Push para a branch atual:
current-branch = rev-parse --abbrev-ref HEAD
push-to-current-branch = "!git push -u origin $(git current-branch);"
Os comandos que vimos até agora apenas facilitam nossas tarefas mas não as automatizam. Seguindo o fluxo do gitflow, após commitar nossas mudanças na branch feature, temos que levar as mudanças para branch dev. Então vamos criar um comando chamado merge-and-push-to-dev-branch que facilitará esse processo.
Auxiliar:
aux = "!f(){ git checkout dev && git pull && git merge \"$1\" && git push -u origin dev; }; f"
Merge da branch com dev:
merge-and-push-to-dev-branch = "!git aux $(git current-branch)"
O arquivo ~/.gitconfig da seguinte forma:
[user]
email = email@email.com
name = Seu Nome
[alias]
st = status
br = branch
co = checkout
cm = commit
unstage = reset HEAD --
visual = !gitk
last = log -1 HEAD
lg = log --all --graph --decorate --oneline --abbrev-commit
current-branch = rev-parse --abbrev-ref HEAD
push-to-current-branch = "!git push -u origin $(git current-branch);"
aux = "!f(){ git checkout dev && git pull && git merge \"$1\" && git push -u origin dev; }; f"
merge-and-push-to-dev-branch = "!git aux $(git current-branch)"
Então você tem alguma dica? Algum processo que gostaria de ser automatizado?
Top comments (0)