Nesse tutorial de git vamos aprender os principais comandos que são utilizados no git e como eles funcionam de uma forma prática. 📚
- Bom imagine que o Git seja o memory card de um vídeogame antigo, e que o Github seja o vídeogame em si, agora podemos fazer a seguinte analogia o memory card é utilizado para guardar dados de uma maneira local, ou seja o Git funciona de forma parecida ao memory card pois ele cria um repositório local no seu computar para guardar seu preciosos códigos.
- Já o GitHub funciona como o próprio videogame que recebe as informações do memory card e guarda informações de forma remota.
Que tal configurar o seu git para todos saberem quem é você quando fizer uma Pull request ?
Troque "fulano de tal" pelo seu nome
git config --global user.name "Fulano de Tal"
Troque fulano de fulanodetal@exemplo.br pelo seu email
git config --global user.email fulanodetal@exemplo.br
git init
- O
git init
cria um repositório local no seu computador, ou seja, ele cria na pasta do seu projeto as configurações necessárias para seu repositório.
git init
você deve estar na mesma pasta onde os arquivos do projeto estão.
git clone caminho_para_o_repositório
- Com o
git clone
como o nome já sugere você fará o clone de um repositório que já existe no github.
🧐 Observação: Note que ao fazer um git clone
de um repositório já existente você terá o repositório (arquivos) em seu computador e não precisara dar git init pois o projeto já estará criado.
Como pegar o caminho do repositório ?
- No repositório do Github onde você deseja clonar o repositório haverá um botão que será o link para aquele repositório especifico.
- Nesse exemplo a URL para clonar o repositório ficaria assim:
git clone https://github.com/DenilsonRabelo/API-Receitas.git
git status
- O
git status
serve para o usuário visualizar que arquivos já foram adicionados ou foram modificados até mesmo os que ainda não foram adicionados ao repositório local.
- Note que como não realizei nenhuma alteração no projeto ele ira retorna que nenhum arquivo foi alterado ou que precise ser adicionado no repositório local.
- Agora sé eu fizer qualquer modificação no código ou adicionar um novo arquivo ele ira retornar o nome do arquivo em que a modificação foi feita em vermelho.
🧐 Observação: Um boa prática é sempre que possível realizar git status para saber os arquivos que foram afetados ao longo da sua codificação !!!
git add nomedoarquivo
- Com o git add todos os arquivos que foram modificados ou criados podem ser adicionados ao repositório local.
🧐 Obeservação: Com o git add .
você pode adicionar todos os arquivos modificados ou criados de uma vez só.
- Note que após o
git add .
e depois realizar ogit status
novamente o arquivo que havia sido modificado ficou na cor verde que representa que o arquivo foi adicionado com sucesso ao repositório local.
git commit -m "comentários das alterações"
- Após adicionar todos os arquivos com o
git add .
você poderá realizar o primeiro commit desses arquivos modificados ou adicionados.
- E pronto você realizou seu primeiro commit para o repositório local.
🧐 Observação: Note que se você der um git status
novamente não haverá mais nenhum arquivo em verde pois você fez o commit deles com sucesso para o repositório local.
git log
- Com o
git log
podemos ver todos os commits realizados dentro de um repositório.
- Exemplo de um log :
commit 92b38aa213018037e551c82b0f8ef142414a00f6 (HEAD -> master, origin/master)
Author: Denilson Rabelo <>
Date: Tue Jan 25 19:05:08 2022 -0300
Update README.md
commit 175ee9f02f567be2479888fc6fd291ba7457aed9
Author: Denilson <>
Date: Tue Jan 25 18:28:12 2022 -0300
- Note que vemos todos commits realizados e um código específico de cada commit além do responsável pelo commit e a data que foi realizado o determinado commit.
git push origin HEAD
- Com o
git push origin Head
podemos mandar as modificações feitas para o repositório que está no github - Note que a palavra HEAD aponta sempre para a brench que você está no momento então fique atento a isso.
-
Imagine que você deseje fazer uma correção ou até mesmo uma modificação no seu código, seria muito descuidado implementar essas alterações diretas no código principal pois poderá ocorrer diversos erros ao longo do processo.
-
Agora imagine você esta trabalhando com uma equipe que utiliza o mesmo código no projeto e além disso varias pessoas modificam esse código diversas vezes, você concorda comigo que esse código vai ficar uma bagunça não é mesmo? ou até mesmo gerar conflitos no código.
-
Mas então o que fazemos para solucionar esse problema ?
-
Utilizamos as famosas branchs, as branch funcionam como ramificações do projeto principal. Quando criamos uma branch fazemos a cópia de todos os arquivos para uma nova seção dentro do próprio projeto, ou seja, se modificarmos alguma coisa em uma branch o código principal não será afetado até você mandar o código da branch para o projeto principal.
Observação: A branch principal do nosso projeto na maioria das vezes é chamado de main ou de master
git branch nomedabranch
- Com o
git branch nomedabranch
você cria uma nova branch dentro do projeto.
git checkout nomedabranch
- Com o
git checkout nomedabranch
você vai para a branch criada.
- Outra forma é utilizar o
git switch nomedabranch
.
🧐 Observação: Com git switch -c nomededabranch
caso você não tenha a branch com o nome especificado além de criar a branch esse comando também já redireciona você para a branch.
git branch
- Lista todas as branchs que estão no seu computador(Local).
git branch -a
- Lista todas as branchs que estão no repósitorio remoto(Github).
git branch -d nome-da-branch
git branch -D nome-da-branch
- O comando que usa o -d apaga a branch caso você já tiver feito merge ou enviado as alterações para seu repositório remoto.
- O comando que utiliza -D ignora qualquer estado da sua branch e força a remoção.
🧐 Observação: É recomendado a utilização do git branch -d nome-da-branch
.
- Vamos supor que você criou sua branch e fez as modificações necessárias e agora quer colocar essas modificações no código principal, o que fazer ?
- Em primeiro lugar você deve dar um
git switch
para a branch principal do seu projeto ou para a branch que você deseja colocar as alterações.
- Estando na brench que você deseja colocar o código alterado basta executar:
git merge nomedabranch
- Para jogar as alterações feitas no
nomedabranch
para a branch que você está.
- E pronto você realizou seu primeiro merge !