Article image
Rodrigo Junior
Rodrigo Junior11/06/2024 15:46
Compartilhe

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ção
  • git 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ção
  • mixed Volta para o estado especificado. Seu estado atual não vai para a área de preparação
  • hard Volta para o estado especificado. Outros arquivos são excluídos
  • git reset <file> Remove o arquivo da área de staging, mas mantém as alterações no working directory, similar a git 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 pilha
  • pop Aplica a alteração arquivada mais recente
  • apply 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-pagebugfix/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 #123Fixes bug in #456.
Compartilhe
Comentários (1)
Marco Rodrigues
Marco Rodrigues - 11/06/2024 16:12

Muito bom o artigo!! Obrigado por compartilhar, vai salvar a galera que gosta de deixar tudo anotadinho!!