Suponha que eu use git read-tree <sha>
without -um
(porque não quero uma mesclagem, mas sim uma leitura simples).
Agora quero fazer o equivalente ao último passo git reset --hard
(tornar a árvore de trabalho igual ao índice) sem alterar nenhuma referência.
Existe algum mecanismo git
para fazer isso?
De forma equivalente, existe uma maneira de fazer semanticamente git read-tree -u
sem qualquer tipo de mesclagem, em vez de simplesmente substituir o índice e a árvore de trabalho pelo conteúdo da árvore fornecida?
Eu tentei git checkout-index -a -f
, mas ele não remove arquivos no diretório de trabalho, apenas os adiciona.
Acho que é isso que
git restore -- .
faz (define a árvore de trabalho como o índice). Agora, seu último comentário me faz pensar que você está procurandogit restore --worktree --staged --source <some-commit-id> -- .
o que ajustará o índice e a árvore de trabalho também para parecerem exatamente como o ID de confirmação que você fornece.