Super síntese Git + Github
- #GitHub
- #Git
Minhas anotações pessoais, que servem como um resumão das aulas incríveis da Elidiana Andrade sobre versionamento de código com Git e GitHub.
Comandos úteis
git clone <url> <novo-nome> Clona o repositório da URL para um arquivo <novo-nome>
git clone <url> --branch <nome-da-branch> --single-branch
Clona uma única branch
git commit
Grava alterações no repositório
git commit -m"<mensagem-anexo>"
Envia as mudanças feitas nos arquivos que estavam na área de preparaçãogit commit --amend -m"<mensagem retificada>
Retifica mensagem do último commit
git pull
Puxa as alterações do repositório remoto para o local (busca e mescla)
git push
Empurra as alterações do repositório local para o remoto
git push -u origin main
Envia as alterações para o repositório remoto
git init
Transforma a pasta atual em um diretório Git
git remote -v
Mostra os repositórios remotos vinculados
git remote add origin <url>
Vincula minha pasta a um repositório remoto
git status
Mostra as alterações feitas e o estado dos arquivos.
git log
Mostra o histórico de operações nesse arquivo
git reflog
Mostra um log mais detalhado de ações no arquivo
git add <file>
Adiciona arquivo na área de preparação para ser incluído no commit
git add .
Adiciona todos os arquivos à área de preparação
git restore <file>
Descarta todas as alterações antes do último commit
git reset --<option> <commit-hash>
soft
Volta para o estado do commit especificado. Seu estado atual fica na área de preparaçãomixed
Volta para o estado especificado. Seu estado atual não vai para a área de preparaçãohard
Volta para o estado especificado. Outros arquivos são excluídosgit reset <file>
Remove o arquivo da área de staging, mas mantém as alterações no working directory, similar agit restore --staged <file>
git checkout -b <newbranchname>
Cria e alterna para uma nova branch
git checkout <branchname>
Move para a branch especificada
git merge <tobemerged>
Mescla a branch atual com a especificada
git branch
Lista as branches do repositório atual
-d <tobedeleted>
Deleta a branch especificada-v
lista o último commit de cada branch-M main
Renomeia a branch sendo trabalhada para main
git fetch origin main
Baixa as alterações da branch main do repositório remoto.
git dif <branch1> <branch2>
Exibe as diferenças entre as duas branches especificadas.
git stash
Arquiva a última modificação em uma pilha
list
Lista as modificações nessa pilhapop
Aplica a alteração arquivada mais recenteapply
Mantém a modificação na lista para uso posterior
Convenções de Branches e Commits
Branch names
Nomes Descritivos:
- Use nomes que descrevam claramente o propósito ou a funcionalidade da branch.
- Exemplo:
feature/login-page
,bugfix/header-display
.
Uso de Prefixos:
- Utilize prefixos para categorizar o tipo de branch.
- Prefixos comuns incluem:
feature/
,bugfix/
,hotfix/
,release/
.
Separadores:
- Utilize barras (
/
) para separar diferentes níveis hierárquicos. - Exemplo:
feature/user/authentication
.
Nomes em Minúsculas:
- Use letras minúsculas e separe palavras com hifens (
-
). - Exemplo:
hotfix/critical-bug
.
Evitar Caracteres Especiais:
- Evite usar caracteres especiais e espaços.
- Use apenas letras, números, hifens e barras.
Referência a Issues:
- Inclua IDs de issues ou tickets, quando relevante.
- Exemplo:
feature/123-add-login
.
Commits
Linha de Assunto (Subject Line):
- Deve ser concisa e descrever brevemente a mudança.
- Máximo de 50 caracteres.
- Inicie com letra maiúscula.
- Não termine com ponto final.
- Utilize o modo imperativo (ex.: "Adiciona", "Corrige", "Remove").
Corpo da Mensagem:
- Descreva detalhadamente as mudanças realizadas.
- Explique o porquê das mudanças, se necessário.
- Cada linha do corpo não deve exceder 72 caracteres.
- Divida o corpo em parágrafos se necessário.
Referências a Issues:
- Inclua referências a números de issues ou tickets relacionados.
- Exemplo:
Closes #123
,Fixes bug in #456
.