Git Checkout
Última atualização
git checkout é o comando clássico para navegar pelo seu repositório - trocar de branch, criar uma branch com -b, fazer checkout de um commit específico ou restaurar um arquivo. Ele faz muita coisa, e é por isso que as versões mais novas do Git dividiram suas funções em git switch (branches) e git restore (arquivos). Os dois estilos continuam funcionando.
Experimente estes comandos no terminal playground - um shell de verdade no seu navegador, sem nada para instalar.
Sintaxe
| Command | What it does |
|---|---|
git checkout main | Trocar para uma branch existente |
git checkout -b feature | Criar uma nova branch e trocar para ela |
git checkout <hash> | Fazer checkout de um commit específico (HEAD desanexado) |
git checkout -- file.txt | Descartar as alterações de um arquivo (restaurá-lo) |
git checkout main -- file.txt | Restaurar um arquivo de outra branch |
checkout vs switch vs restore
| Task | Old (checkout) | Modern |
|---|---|---|
| Trocar de branch | git checkout main | git switch main |
| Criar + trocar | git checkout -b x | git switch -c x |
| Descartar alterações de arquivo | git checkout -- f | git restore f |
Perguntas frequentes sobre git checkout
O que o git checkout faz?
Ele te movimenta pelo repositório. Na maioria das vezes ele troca de branch (
git checkout main), mas também pode criar uma branch (-b), fazer checkout de um commit específico ou restaurar um arquivo para uma versão anterior. Como ele faz várias tarefas diferentes, as versões modernas do Git introduziram git switch e git restore para separá-las.Qual é a diferença entre git checkout e git switch?
git switch é um comando mais novo e focado que apenas troca (e com -c, cria) branches - mais claro e mais difícil de usar errado. git checkout faz isso e ainda restaura arquivos e faz checkout de commits. Para trabalhar com branches, git switch main e git checkout main são equivalentes; use o que sua equipe preferir.Como faço checkout de um commit específico?
Execute
git checkout <hash>. Isso te coloca em um estado de "HEAD desanexado" - você está visualizando aquele commit, mas não está em nenhuma branch. Para manter o trabalho feito a partir daí, crie uma branch: git switch -c newbranch. Para voltar, faça checkout de uma branch novamente com git switch main.Como descarto as alterações de um arquivo com o checkout?
Execute
git checkout -- file.txt para descartar as alterações não confirmadas daquele arquivo e restaurar a última versão confirmada. Nas versões modernas do Git, o equivalente mais claro é git restore file.txt. Ambos descartam suas edições, então tenha certeza de que não vai precisar delas.Posso praticar isso online?
Sim. Abra o terminal playground para executar
git checkout em um shell de verdade no seu navegador - sem nada para instalar. O curso interativo e gratuito de Git da Coddy também aborda a criação e a troca de branches passo a passo.