"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.

comments powered by Disqus