Sobre os comandos do Git, acho interessante acrescentar que desde 2019 existem os comandos switch
e restore
, cuja ideia é separar as funções do checkout
: o primeiro trabalha apenas com branches, e o segundo, apenas com arquivos.
Já escrevi sobre eles antes, mas resumindo: em vez de git checkout branch
, pode-se usar git switch branch
, e em vez de git checkout -- arquivo
, usa-se git restore arquivo
.
A ideia é separar as funções do checkout
, já que ele pode trabalhar tanto com branches quanto com arquivos, dependendo dos parâmetros. Segregar cada uma dessas funções em comandos específicos seria para deixar menos confuso.
No link acima explica melhor, e também tem outros links para mais explicações mais detalhadas (como por exemplo o fato de algumas funções também substituirem certos usos de reset
, mas com algumas diferenças).