mergulhao.info
Por Sylvestre Mergulhão
Sylvestre Mergulhão é programador web e fundador da HE:labs.
Veja também minhas palestras no Speaker Deck e me acompanhe no twitter @smergulhao.
"git revert" não é o mesmo que "svn revert"!
Postado em 19/02/2008
Acabei de atualizar o blog para a última versão do Mephisto, a 0.8, que foi lançada recentemente. Não entendi até agora por que a notícia não saiu no site oficial do Mephisto, mas isso é outro problema. Agora o scm do projeto é o git, que foi inicialmente desenvolvido pelo Linus Torvalds, o mesmo que criou o kernel do Linux.
Uma coisa que me chamou atenção foi o fato do ‘git revert’ não fazer nada semelhante ao que o ‘svn revert’ faz. O comando:
git revert HEAD
É um undo do último commit! Para fazer um revert como estamos acostumados no svn, deve-se fazer:
git reset --hard HEAD
Assim será feito revert de todas as modificações depois do último commit. Estranho que não achei a opção para fazer em um arquivo específico, como se faz no svn. Caso utilize:
git reset --hard HEAD nome_do_arquivo
É retornado:
Cannot do partial --hard reset.
Pesquisando um pouco descobri uma maneira razoável de realizar o revert svn-like:
git checkout nome_do_arquivo
É diferente, mas não é difícil de usar. Por enquanto o git está aprovado.