4 pontos por GN⁺ 2025-01-18 | 1 comentários | Compartilhar no WhatsApp
  • Como resolver problemas no Git

    • O Git é uma ferramenta complexa e propensa a erros, e encontrar formas de resolver problemas pode ser difícil.
    • Várias situações problemáticas e suas soluções são explicadas em inglês simples.
  • Situações de problema e como resolver

    • Quando você quer desfazer uma ação errada

      • Use git reflog para verificar a lista de ações anteriores e volte ao ponto desejado com git reset HEAD@{index}.
    • Quando é preciso fazer uma pequena alteração depois do commit

      • Após a mudança, use git add . e git commit --amend --no-edit para adicionar as alterações ao último commit.
      • Atenção: não edite commits já publicados.
    • Quando você quer alterar a mensagem do último commit

      • Use git commit --amend para mudar a mensagem.
    • Quando você fez commit na branch errada

      • Crie uma nova branch e use git reset HEAD~ --hard para remover o commit da branch master; depois, vá para a nova branch para preservar o commit.
    • Quando o comando diff não funciona

      • Use git diff --staged para verificar as diferenças dos arquivos em staging.
    • Quando você quer reverter um commit anterior

      • Encontre o commit com git log e use git revert [saved hash] para reverter esse commit.
    • Quando você quer desfazer alterações em um arquivo

      • Encontre um commit anterior com git log e reverta o arquivo com git checkout [saved hash] -- path/to/file.
  • Outros

    • Quando você quer restaurar o repositório ao estado inicial
      • Use git fetch origin, git checkout master e git reset --hard origin/master para sincronizar com o repositório remoto.
      • Use git clean -d --force para apagar arquivos e diretórios não rastreados.
  • Observações

    • O site menciona que não é uma referência abrangente e que pode haver várias formas de fazer a mesma coisa.
    • Agradece às várias pessoas que participaram da tradução.

1 comentários

 
GN⁺ 2025-01-18
Comentários do Hacker News
  • É melhor usar git switch em vez de git checkout
  • Sugestão de como resolver o problema evitando reset --hard e criando uma nova branch quando se fez commit na branch errada
    • Criar uma nova branch a partir do estado atual
    • Voltar para o commit anterior
    • Sobrescrever a branch master com esse commit
    • Mudar para a branch de trabalho
  • Sugestão de como resolver o caso de ter feito commit na branch errada usando cherry-pick
    • Mudar para a branch correta
    • Trazer o último commit da master
    • Apagar da master
  • Sugestão de como usar git em situações de "desistir de tudo"
    • Buscar o estado mais recente da origin
    • Restaurar arquivos rastreados
    • Remover arquivos e diretórios não rastreados
    • Redefinir a master para a versão remota
  • Recomenda-se aprender Git usando UI como padrão
    • Se depois achar que a CLI é mais rápida, dá para usar
    • Primeiro é preciso entender visualmente como interagir com a árvore
  • Fico feliz em ver resultados de busca sobre hg+mercurial
    • É uma pena que o hg tenha perdido a guerra dos DVCS
  • É difícil lembrar os argumentos dos comandos do Git
    • Não são comandos fáceis de descobrir nem de memorizar
  • Vai ser estranho comemorar os 20 anos do git em abril de 2025
    • Talvez o efeito do GitHub tenha eliminado a necessidade de um novo VCS
  • Em situações de "oh shit", apago o repositório local e faço clone de novo
    • Isso funciona bem em 95% dos casos
  • É difícil lembrar git reflog porque a pessoa lê errado como "re-flog"
  • Não sou usuário de Git, mas sinto que "git commit" não significa muita coisa
    • Só passa a importar quando o commit é enviado ou mesclado
  • Uma das vantagens do Git é que, uma vez criado um objeto, você não consegue perder o trabalho
    • É importante fazer commit com frequência