Oh Shit, Git? Livro publicado
(ohshitgit.com)-
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 reflogpara verificar a lista de ações anteriores e volte ao ponto desejado comgit reset HEAD@{index}.
- Use
-
Quando é preciso fazer uma pequena alteração depois do commit
- Após a mudança, use
git add .egit commit --amend --no-editpara adicionar as alterações ao último commit. - Atenção: não edite commits já publicados.
- Após a mudança, use
-
Quando você quer alterar a mensagem do último commit
- Use
git commit --amendpara mudar a mensagem.
- Use
-
Quando você fez commit na branch errada
- Crie uma nova branch e use
git reset HEAD~ --hardpara remover o commit da branch master; depois, vá para a nova branch para preservar o commit.
- Crie uma nova branch e use
-
Quando o comando diff não funciona
- Use
git diff --stagedpara verificar as diferenças dos arquivos em staging.
- Use
-
Quando você quer reverter um commit anterior
- Encontre o commit com
git loge usegit revert [saved hash]para reverter esse commit.
- Encontre o commit com
-
Quando você quer desfazer alterações em um arquivo
- Encontre um commit anterior com
git loge reverta o arquivo comgit checkout [saved hash] -- path/to/file.
- Encontre um commit anterior com
-
-
Outros
- Quando você quer restaurar o repositório ao estado inicial
- Use
git fetch origin,git checkout masteregit reset --hard origin/masterpara sincronizar com o repositório remoto. - Use
git clean -d --forcepara apagar arquivos e diretórios não rastreados.
- Use
- Quando você quer restaurar o repositório ao estado inicial
-
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
Comentários do Hacker News
git switchem vez degit checkoutreset --harde criando uma nova branch quando se fez commit na branch erradacherry-pickgit reflogporque a pessoa lê errado como "re-flog"