git add, git commit, e git push... não, obrigado?
git add *
git commit -m "commit message"
git push
Eu rodo esses comandos praticamente todos os dias. Pelo menos 10 vezes. É bastante coisa! Claro, nunca me incomodou, até que recentemente eu tive de lidar com uma situação bem específica em que dois repositórios tinham de ter o mesmo histórico de commits, e aí eu passei a precisar rodar esses comandos o dobro de vezes!
Foi aí que eu decidi brincar um pouquinho, e utilizar um pouco dos meus estudos de Go para fazer uma CLI para automatizar esses 3 comandos (e a minha situação mais específica).
Eu abstraí os 3 comands acima nesse belo comando aqui:
nena -m="feat: commit message"
Ficou bem menos verboso! E, sim, chamei de Nena, achei um nome bem legal, embora não tenha nenhuma relação com o contexto do projeto, me digam se acharam um bom nome também.
Para o meu problema mais específico, eu precisava de ainda mais comandos, algo mais ou menos assim:
git add *
git commit -m "commit message"
git push
git remote rm origin
git remote add origin github.com/2
git push
git remote rm origin
git remote add origin github.com/1
E abstraí para:
nena -c=true -m="commit message"
Maneiro, não é? Pelo menos eu achei! É um projeto muito simples, foi feito em uns 30 minutos, mas mesmo assim eu gostei pra caramba de fazê-lo, porque é algo que está tendo utilidade imediatamente após estar pronto e me fez ficar pensando no quão útil é construir CLIs. Pensa em todas as coisas repetitivas que você faz no seu dia a dia que você poderia abstrair numa CLI, criando um projeto bacana e facilitando sua vida.
Para quem se interessar, aqui está o código da CLI: https://github.com/assincrono/nena