Git cheatsheet (comandos e macetes)

  • Publicado em: 04/08/2021

Não li, nem lerei

Um breve resumo para pessoas cansadas

Essa lista tem objetivo de te ajudar em situações cotidianas :)

Comandos Git

Aliases

Listar alias existentes

  • git config --list | grep alias

Criar um alias

  • git config --global alias.st status

Usar o alias criado acima

  • git st (terá o mesmo efeito que git status)

Excluir alias

  • git config --global --unset alias.st

Onde o alias fica armazenado?

  • ~/.gitconfig

Branches

Listar branches remotas

  • git branch -r

Resetar sua branch igualando ao repositório remoto

  • git reset --hard origin/[nome-da-branch]

Reconstruir branch local com base em branch remota

  • Sincronize as alterações: git fetch
  • Delete a branch local: git branch -D [nome-da-branch]
  • Faça checkout na branch: git checkout [nome-da-branch]

Checkout

Desfazer alterações em um arquivo fora da stage

  • git checkout -- [nome-do-arquivo-01] [nome-do-arquivo-01]

Pegar conteúdo de um arquivo de outra branch.

  • git ck [nome-da-branch] -- [caminho-relativo-do-arquivo]
    • Ex: git ck master -- packages/core/yarn.lock

Commits

Listar todos os commits e tags ( de maneira visualmente agradável)

  • git log --decorate --oneline --graph

Listar todos commits não pusheados na branch atual

  • git cherry -v

Listar todos commits da branch atual que não estão na branch main

  • git log origin/main..HEAD

Fazer um commit vazio

  • git commit -m "Sua mensagem de commit" --allow-empty

Fazer checkout em um commit de uma branch

  • Pegue o id do commit: git log --oneline
  • Faça checkout no commit: git checkout [id-do-commit]
  • Crie uma branch para padronizar o desenvolvimento: git checkout -b [nome-do-novo-branch]

Deletar um commit pusheado

  • git log
  • Copie o hash do commit, ex: c929b5c
  • git revert [hash-do-commit]
  • Faça um push para sua branch

Deletar o último commit pusheado sem deixar rastros

  • git reset --hard HEAD~1
  • Faça um git push --force origin [nome-da-sua-branch]

Diff

Verificar diferenças entre commits

  • git diff [hash-do-commit-antigo]..[hash-do-commit-recente]

Ver os arquivos de um commit

  • git diff-tree --no-commit-id --name-only -r [hash-do-commit]

Merge

Cancelar um merge (digamos que você fez um merge, surgiram diversos conflitos e você quer voltar)

  • git merge --abort

Desfazer commit de merge não pusheado (digamos que você fez um merge, deu certo mas você quer voltar)

  • git reset --hard HEAD~1

Stashes

Guardar alterações num espaço temporário

  • git stash
  • Conferir se foi salvo: git stash list
  • Recuperar as alterações do comando stash:
    • git stash list
    • git stash apply [stash-id] para aplicar sem remover da lista de stash
    • git stash pop para aplicar removendo o item da lista de stash

Visualizar um único arquivo em stash

  • git show stash@{[posicao-do-stash-na-lista]}:[filename]
    • Ex: git show stash@{0}:yarn.lock

Salvar um arquivo em stash com outro nome

  • Path completo: git show stash@{0}:[full filename]  >  [newfile]
  • Path relativo: git show stash@{0}:./[relative filename] > [newfile]

Tags

Listar todas as tags

  • git tag -l

Criar uma tag

  • git tag [numero-da-tag]

Deletar uma tag local não pusheada

  • git tag -d [numero-da-tag]

Deletar uma tag pusheada

  • Delete a tag localmente: git tag -d [numero-da-tag]
  • Depois delete a tag remota: git push --delete origin [numero-da-tag]

Gerar arquivo zip a partir de tag

  • Crie a tag se ela não existir: git tag [numero-da-tag]
  • git archive [numero-da-tag] --format=zip --output=[nome-do-arquivo-zipado].zip
Felipe Marciano
Sobre o autor
Felipe Marciano

dev front-end, viciado em café, cinema e abraçar cachorros.

Tem perguntas,fale comigo.Respondo assim que puder.
Para mandar um "Oi" 👋felipexperto@gmail.com
Me siga no LinkedIn 🚀linkedin.com/in/felipexperto/
© 2024, Construído com Gatsby