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-branchClona 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>
softVolta para o estado do commit especificado. Seu estado atual fica na área de preparaçãomixedVolta para o estado especificado. Seu estado atual não vai para a área de preparaçãohardVolta 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-vlista o último commit de cada branch-M mainRenomeia 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
listLista as modificações nessa pilhapopAplica a alteração arquivada mais recenteapplyManté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.



