002/100 Days of Code: Git

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 …


This content originally appeared on DEV Community and was authored by Alexandre Bekor

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:


This content originally appeared on DEV Community and was authored by Alexandre Bekor


Print Share Comment Cite Upload Translate Updates
APA

Alexandre Bekor | Sciencx (2022-02-18T11:56:26+00:00) 002/100 Days of Code: Git. Retrieved from https://www.scien.cx/2022/02/18/002-100-days-of-code-git/

MLA
" » 002/100 Days of Code: Git." Alexandre Bekor | Sciencx - Friday February 18, 2022, https://www.scien.cx/2022/02/18/002-100-days-of-code-git/
HARVARD
Alexandre Bekor | Sciencx Friday February 18, 2022 » 002/100 Days of Code: Git., viewed ,<https://www.scien.cx/2022/02/18/002-100-days-of-code-git/>
VANCOUVER
Alexandre Bekor | Sciencx - » 002/100 Days of Code: Git. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/02/18/002-100-days-of-code-git/
CHICAGO
" » 002/100 Days of Code: Git." Alexandre Bekor | Sciencx - Accessed . https://www.scien.cx/2022/02/18/002-100-days-of-code-git/
IEEE
" » 002/100 Days of Code: Git." Alexandre Bekor | Sciencx [Online]. Available: https://www.scien.cx/2022/02/18/002-100-days-of-code-git/. [Accessed: ]
rf:citation
» 002/100 Days of Code: Git | Alexandre Bekor | Sciencx | https://www.scien.cx/2022/02/18/002-100-days-of-code-git/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.