Trabalhando com branches
O que é branch
Branch é um espaço para testes, que não afeta o código principal do projeto. No começo de todo repositório, trabalhamos na branch main. No entanto, nem sempre é conveniente fazer commits para a branch main, como quando estamos fazendo testes.
Para isso podemos criar outros espaços, como salas de teste (branch staging) que não afetam a sala principal (branch main).
Ex:

Note que uma branch sempre estará apontando para um commit, como se ele estivesse selecionado. Geralmente é o commit mais recente. Isso sempre será exibido quando passar o comando git log.
Como criar uma branch
Para criar uma branch, basta passar um comando para trocar da branch main para outra, se ela não existir, será criada.
Comando para trocar de branch:
git checkout -b [nome da branch]Quando damos o checkout da branch main para a branch staging nada mudará nos arquivos locais, poderemos continuar adicionando arquivos e dando commits na branch staging.
Mas note que ao dar checkout de volta para a branch main os arquivos locais do staging desaparecerão, pois não estão presentes na branch main.
Como trazer alterações do staging para a branch main
Para trazer as alterações do staging para a branch main e concretiza-las, primeiro precisaremos selecionar a branch alvo da mesclagem, a que receberá as mudanças da branch teste. Para isso, usaremos o checkout.
Com a branch principal selecionada, usaremos o seguinte comando para mesclar a branch staging:
git merge [branch staging que será mesclada a branch selecionada no terminal]Ex:

Comandos importantes
1. git branch
Mostra todas as branches, e mostra a branch selecionada no momento.
2. git branch -v
Mostra o último commit (apontado) de cada branch.
3. git branch -d [nome da branch]
Deleta a branch selecionada.