Como posso reverter para um commit do Git?

1

Acabei de começar a usar o Git no Windows e tenho uma pequena pergunta. Quando digo git commit junto com uma mensagem, percebo que o git confirma o arquivo. Mas onde exatamente armazena o arquivo comprometido?

Digamos que eu faça algumas alterações e queira reverter para o meu terceiro commit usando a GUI do Git. Como exatamente eu faço isso?

    
por Sab 25.12.2012 / 10:18

2 respostas

4

O git commit salva apenas no palco, que é localmente no seu computador. Use Push para atualizá-lo para um servidor remoto (como o github).

Use git revert <ID> para reverter para uma confirmação anterior. cada commit tem um código de identificação.

Veja aqui para mais detalhes sobre reverter

    
por 25.12.2012 / 10:35
11

A resposta acima não está correta - git revert <ID> não define seu repositório para essa confirmação - git revert <ID> cria uma nova confirmação que desfaz as alterações introduzidas por commit <ID> . É mais ou menos uma maneira de "desfazer" um commit e salvar o desfazer em seu histórico como um novo commit.

Se você quiser definir sua ramificação para o estado de uma confirmação específica (conforme implícito no OP), use git reset <commit> ou git reset --hard <commit> . A primeira opção atualiza apenas o INDEX, deixando os arquivos em seu diretório de trabalho. inalterado como se você tivesse feito as edições, mas ainda não as tenha cometido. Com a opção --hard, ele substitui o conteúdo do seu diretório de trabalho pelo que estava em <commit> .

Uma nota de aviso de que git reset alterará o histórico - se eu tiver feito vários commits e depois redefinir para o primeiro commit, os commits subsequentes não estarão mais no histórico de commits. Isso pode causar algumas dores de cabeça graves se qualquer um desses commits perdidos for enviado para um repositório público. Certifique-se de usá-lo apenas para se livrar de commits que não foram enviados para outro repositório!

    
por 11.08.2014 / 17:18

Tags