Pergunta

Como faço para reverter todo ou parte de um SVN commit usando TortoiseSVN?

Foi útil?

Solução

Primeiro, você precisa identificar em vez você quiser voltar "todas as alterações" de uma revisão, ou apenas um único arquivo. TortoiseSVN tem apenas a abordagem "1 ou todos"; ou seja, você pode voltar todo os arquivos check-in set, ou único:. checkins não parciais

Entire Changeset

Então, se revertendo uma revisão específica (e você quer todos os arquivos em que alterações para ser alterado), você vai querer o botão direito do mouse -> TortoiseSVN -> Mostrar log. Encontre a revisão / changeset que você deseja reverter para, clique com o botão direito em que a revisão "Reverter para esta revisão".

Não há outra opção que lhe possam interessar, que é "Reverter alterações desta revisão", que irá fazer um Diff-fusão entre essa revisão e sua versão atual, e mesclar apenas as diferenças. Acho isso mais atraente às vezes; assim, eu posso manter todas as alterações no meio destes os changesets.

Único arquivo

A outra opção é para reverter um único arquivo de volta. Você voltaria a fazer o botão direito do mouse -> TortoiseSVN -> Mostrar log; mas desta vez, você pode selecionar um único arquivo.

TortoiseSVN não permite que você selecionar vários arquivos em um conjunto de alterações para voltar a. É ou tudo, ou apenas 1.

Changeset checkins

Para todos os outros leitura, certifique-se de "checkins" envolvem apenas os arquivos relacionados a essa mudança. Esta deve ser uma prática comum nos dias de hoje; mas, eu continuo a achar desenvolvedores "shotgunning" os checkins no final do dia, agregação de todas as alterações para o dia em um único check-in.

Eu brilham nesses devs com estrabismo w. -_ ^

Outras dicas

Se você quiser reverter feitas anteriormente commit (revisão):

Com explorador:

  1. clique direito no arquivo / pasta que você deseja reverter,
  2. TortoiseSVN> show de log,
  3. clique direito sobre revisão indesejada,
  4. "Reverter alterações desta revisão",
  5. compro-> OK.

Se você quiser desfazer as alterações feitas localmente (uncommited)

Com explorador:. Botão direito do mouse no arquivo (s), TortoiseSVN> Reverter

Como alternativa ao que Bartek disse, você pode verificar a revisão em particular para uma cópia de trabalho local, e comprometer-lo de volta para a cabeça.

Note que você só pode "reverter" no sentido de que o check-in uma nova revisão, que já não contém as alterações que você queria reverter. Que é descrito em outras respostas.

Você pode não realmente desfazer um check-in (como em "isso nunca aconteceu"), o estado antigo ainda será na história do repositório.

Realmente desfazer / stuff remoção é um pedido de recurso de longa data:

http://subversion.tigris.org/issues/show_bug.cgi ? id = 516

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top