002/100 Days of Code: Git
Alexandre Bekor
Posted on February 18, 2022
Git: A forma mais assertiva para se contar a história do seu projeto, usar essa ferramenta é como escrever a biografia do seu código! 🧐
Ontem
Desenvolvi templates para validação de formulários com Regex e pesquisei algumas boas práticas na formatação das expressões.
Durante o aprendizado de Expressões Regulares com o auxílio do Regex101 desenvolvi alguns materiais de consulta que em breve estarei compartilhando por aqui!
Hoje
Enquanto me preparava para enviar um projeto front-end para o Gitlab notei que alguns dos comandos que havia estudado para gerenciar os versionamentos haviam sido esquecidos, por isso resolvi dedicar o final dessa noite para relembrar e exercitar.
Git
É um versionador de código, ele te permite empacotar as modificações de arquivos com uma descrição e gerar a partir disso um ponto de salvamento que pode ser restaurado a qualquer momento. Ou seja, por mais que você altere o código, é possível retrocedê-lo a qualquer momento para qualquer ponto de salvamento.
Uma ótima saída para quando um 🐛 bug resolve aparecer na nova versão da aplicação e estamos com pouco tempo de reação!
Aqui estão alguns dos comandos que mais utilizado e que provavelmente você também utilizará:
git init
// inicia o versionador na pasta em que foi chamado
git clone <URL do Repositório>
// clona um repositório a partir de uma url
// exemplo: git clone https://github...
git add .
// adiciona todos os arquivos do projeto na monitoria
git remote add <nome> <url>
// adiciona uma referência para um repositório remoto a partir de uma url
// exemplo: git remote add origin https://github...
git commit -m "Mensagem do Commit"
// empacota as modificações do arquivos monitorados com uma descrição
git push <Nome do repositório remoto>
// envia o commit para o repositório remoto
// exemplo: git push origin
git pull <Nome do repositório remoto> <Nome da branch>
// Incorpora as alterações de um repositório remoto na branch atual
// exemplo: git pull origin master
git status
// Retorna os arquivos que estão sendo monitorados
git log
// Retorna o histórico de commits
git checkout <ID do Commit>
git restore --source <ID do Commit>
git restore .
// restaura o projeto ou um arquivo específico a um ponto anterior
git switch -c <Nome da Nova Branch>
git branch <Nome da Nova Branch>
git branch
git switch <Nome da Branch>
// git switch master
// Atalho para selecionar a branch master
git switch -
git tag -a <Tag> -m 'Descrição'
// cria uma tag e atribui ao commit atual, é como criar um marco, alguns utilizam esse recurso para indicar o início de nova versão da aplicação
// exemplo: git tag -a 1.0 -m 'Alpha Version'
git tag
// lista as tags
Commit para múltiplos repositórios remotos
Esse processo já me atendeu muito bem, então vou destacá-lo aqui!
Já me deparei com uma situação em que precisava realizar o envio dos commits para dois repositórios remotos diferentes, mas por questão de produtividade precisava que o envio fosse realizado com apenas um comando de git push
, ao invés de ficar alterando entre as branches e os repositórios remotos, aqui está a estratégia:
// Crie um repositório remoto
git remote add <Nome do Repositório> <URL do Repositório Remoto 01>
// Aponte a URL do outro repositório para o mesmo <Nome do Repositório> utilizado no comando anterior
git remote set-url --add --push <Nome do Repositório Anterior> <URL do Repositório Remoto 02>
// Exemplo
git remote add origin https://github...
git remote set-url --add --push origin https://gitlab...
git remote set-url --add --push origin https://bitbucket...
Agora, quando enviar os commits com um git push
, eles serão processados para todos os repositórios remotos adicionados.
Disclaimer
Sei que não entrei em detalhamento de nenhum dos comandos, mas esse post é apenas a sumarização do estudo do dia, em breve estarei escrevendo alguns artigos mais detalhados abordando cada um desses temas e você pode acompanhá-los nesse e nos meus outros canais de comunicação.
Outros Canais
Fique à vontade para entrar em contato comigo por essas outras mídias sociais também:
Posted on February 18, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.