Compartilhar via


Comando Rollback (Team Foundation Version Control)

Você pode usar esse comando para reverter os efeitos de um ou mais conjuntos de alterações para um ou mais itens controlados por versão. Este comando não remove os changesets do histórico de versões do item. Em vez disso, esse comando cria no seu espaço de trabalho um conjunto de alterações pendentes que invalidar os efeitos dos conjuntos de alterações que você especificar.

Permissões necessárias

Para usar este comando, você deve ter o leitura, Check-Out, e Check-In as permissões definidas Permitir. For more information, see Permissões de Team Foundation Server.

tf rollback /toversion:VersionSpec ItemSpec [/recursive] [/lock:none|checkin|checkout] [/version:versionspec] [/keepmergehistory] [/login:username,[password]] [/noprompt]

tf rollback /changeset:ChangesetFrom~ChangesetTo [ItemSpec] [/recursive] [/lock:none|checkin|checkout] [/version:VersionSpec]
[/keepmergehistory] [/noprompt] [/login:username,[password]]

Parâmetros

Argument

Description

ChangesetFrom~ChangesetTo

Use este argumento com o /changeset opção para especificar os conjuntos de alterações que você deseja reverter de volta. Você pode especificar os conjuntos de alterações das seguintes maneiras:

  • Um único conjunto de alterações

    Exemplo: /changeset:C11

  • Uma variedade de conjuntos de alterações

    Exemplo: /changeset:C7~C20

  • Uma data

    Exemplo: /changeset:D09/30/09

  • Um intervalo de datas

    Exemplo:/changeset:D09/23/09~D10/07/09

  • O conjunto de alterações mais recente

    Exemplo: /changeset:Tip ou/changeset:T

ItemSpec

Use este argumento para especificar um ou mais itens que você deseja reverter. Se você estiver usando o /toversion opção, você deve especificar esse argumento.

Para obter mais informações sobre como Team Foundation analisa as especificações do item, consulte Sintaxe de linha de comando (controle de versão).

ObservaçãoObservação
Você pode especificar mais de um Itemspec argumento.

VersionSpec

O valor fornecido pelo usuário para ambos os /version opção e o /toversion opção.

Use este argumento com o /toversion a opção de reverter um arquivo para seu estado em um changeset específico. Você pode especificar a versão das seguintes maneiras:

  • Um único conjunto de alterações

    Exemplo: /toversion:C32

  • Uma data (noite)

    Exemplo: /toversion:D06/19/09

  • Uma data e uma hora.

    Exemplo: /toversion:D06/19/09T14:32

  • Um rótulo

    Exemplo: /toversion:LTestLabel

  • A versão do espaço de trabalho que é mapeado para o diretório atual

    Exemplo: /toversion:W

  • A versão de um espaço de trabalho específicas

    Exemplo: /toversion:WResolveRIConflicts;AKerry

Para obter mais informações sobre como Team Foundation versionspecs analisa, consulte Sintaxe de linha de comando (controle de versão).

Option

Description

/changeset

Use esta opção para especificar um ou mais changesets específicos que você deseja negar.

/keepmergehistory

Esta opção tem efeito somente se um ou mais dos conjuntos de alterações que você está revertendo incluem um branch ou merge alterar. Especifica essa opção se desejar futuras mescla entre a mesma fonte e o mesmo destino para excluir as alterações que você está revertendo.

Para obter mais informações, consulte exemplo: opção de /keepmergehistory.

/lock

Especifique esta opção para impedir que outros usuários fazendo check-in ou check-out de itens até terminar Revertendo alterações de todos os respectivos. For more information, see Noções básicas sobre tipos de bloqueio.

Opções de bloqueio

  • None

    Default. Nenhum bloqueio é aplicado. Se o arquivo que você está revertendo foi bloqueado, essa opção remove o bloqueio.

  • Checkin

    Bloqueia um item até você liberar o bloqueio realizando um check-in. Outros usuários podem fazer check-out de itens especificados, mas os usuários não é possível verificar em revisões até que o bloqueio seja removido. Você não pode bloquear um arquivo que já está bloqueado.

  • Check-out

    Impede a verificação ou reduzir um item bloqueado até que você remova o bloqueio realizando um check-in de usuários.

/login

Para obter informações sobre essa opção, consulte Opções de linha de comando.

/noprompt

Suprime caixas de diálogo que normalmente seriam exibidas durante a operação.

/recursive

Especifique esta opção se desejar que a operação para incluir itens em subpastas.

/toversion

Especifique esta opção para reverter um arquivo para seu estado de um changeset específico. Quando você usar esta opção, você pode negar o efeito de todos os conjuntos de alterações que foram aplicadas desde a versão que você especificar.

/version

Especifica a versão atual dos arquivos e pastas que você deseja reverter.

Comentários

O tf rollback comando anula o efeito de cada conjunto de alterações que você especificar para cada item que você especificar. A tabela a seguir lista como a operação anula a cada tipo de alteração.

Se você reverter esse alterar …

... são feitas a alteração de reversão de .a e a seguinte alteração adicional

add, branch, or undelete

delete

edit

edit

encoding

encoding

rename/move

rename/move

delete

undelete

merge

Alteração que nega as alterações foram mescladas a ramificação atual.

A lista a seguir fornece alguns exemplos de alterações resultam do comando de reversão:

  • Se você está revertendo um changeset na qual um add alteração ocorreu, as causas de operação de reversão um rollback alterar e um delete alterar.

  • Se você está revertendo changeset 521 no qual um edit alteração ocorreu, as causas de operação de reversão um rollback alterar e um edit alteração nega as alterações abrangidas pela edit alterar no changeset 521.

  • No conjunto de alterações 132, mescladas $/BranchA/File1.txt para $/ BranchB/File1.txt. As alterações incluídas em que mesclagem incluída edit alterações no changesets 92 e 104. No conjunto de alterações 162, você reverter changeset 132, o que resulta em um rollback alterar e um edit Alterar para $/BranchB/File1.txt nega as alterações de edição no changesets 92 e 104.

Exit Codes

Os códigos de saída na tabela a seguir aparecem depois de executar o tf rollback comando.

Exit Code

Description

0

A operação revertida todos os itens com êxito.

1

A operação revertida pelo menos um item com êxito, mas não foi possível reverter novamente um ou mais itens.

100

A operação não pôde reverter quaisquer itens.

Examples

O exemplo a seguir nega o efeito do changeset 23 em todos os itens que foram alterados nesse conjunto de alterações.

c:\workspace> tf rollback /changeset:C23

O exemplo a seguir nega o efeito do changeset 23 no a.txt arquivo.

c:\workspace> tf rollback /changeset:C23 a.txt

O exemplo a seguir altera o conteúdo de a.txt para corresponder à versão que foi verificada com changeset 23.

c:\workspace> tf rollback /toversion:C23 a.txt

O exemplo a seguir altera o conteúdo de OurTeamProject para coincidir com o último conjunto de alterações que foi aplicado em ou antes da meia-noite de 31 de agosto de 2009.

c:\workspace> tf rollback /toversion:D08/31/2009 /recursive $/OurTeamProject/

Exemplo: opção de /keepmergehistory

Quando você reverter um changeset que inclui uma ramificação ou uma alteração de mesclagem, geralmente que mescla futuras entre a mesma fonte e o mesmo destino para incluir essas alterações. No entanto, você pode usar o /keepmergehistory opção se desejar futuras mescla entre a mesma fonte e o mesmo destino para excluir conjuntos de alterações que foram circundados em uma operação de mesclagem passadas.

Por exemplo, você pode usar este comando na seguinte situação:

  1. No dia 30 de junho de 2009, você executar uma mesclagem completa de todos os itens de $/BranchA/ para $/ BranchB /:

    c:\workspace> tf merge $/BranchA $/BranchB
    

    Você faz o check-in esta mesclagem como parte do changeset 292.

  2. Em julho, você pode fazer várias $/ BranchA/Util.cs de alterações. Essas alterações são circundadas em changesets 297 301 e 305.

  3. No dia 1 de agosto de 2009, você pode mesclar $/BranchA/Util.cs para $/ BranchB/Util.cs:

    c:\workspace> tf merge $/BranchA/Util.cs $/BranchB/Util.cs
    

    Você faz o check-in a alteração como parte do changeset 314. O resultado dessa operação é que as edições feitas no changesets 297 301 e 305 $/BranchA/Util.cs também agora são aplicadas para $/ BranchB/Util.cs.

  4. Uma semana mais tarde, você percebe que as edições feitas no $/BranchA/Util.cs em julho não são apropriadas para $/ BranchB/Util.cs. Você pode usar o comando rollback para negar essas alterações. Quando você usa o comando rollback Reverter uma merge alterar ou um branch alterar, você tem uma decisão de make.

    • Se desejar que as alterações feitas em julho $/BranchA/Util.cs ser reaplicadas para $/BranchB/Util.cs no futuro mescla, você deve digitar o seguinte comando:

      c:\workspace> tf rollback /changeset:314
      
    • Se desejar que as alterações feitas em julho $/BranchA/Util.cs nunca ser reaplicado para $/BranchB/Util.cs no futuro mescla, você deve digitar o seguinte comando:

      c:\workspace> tf rollback /changeset:314 /keepmergehistory
      
  5. Algumas semanas mais tarde, você mesclar $/BranchA/ $/ BranchB /:

    c:\workspace> tf merge $/BranchA $/BranchB
    
    • Se você tiver omitido o /keepmergehistory opção, o merge alteração será aplicada a $/BranchB/Util.cs de todos os conjuntos de alterações que foram aplicados para $/BranchA/Util.cs desde changeset 292, incluindo changesets 297, 301, 305. Em outras palavras, uma mesclagem futura irá desfazer a rollback alterar.

    • Se você tiver incluído o /keepmergehistory opção, a operação de mesclagem serão aplicadas a $/BranchB/Util.cs todos os conjuntos de alterações que foram aplicados para $/BranchA/Util.cs desde changeset 292, excluindo changesets 297 301 e 305. Em outras palavras, uma mesclagem futura não irá desfazer a alteração de reversão. Portanto, o conteúdo em BranchA pode não coincidir com o conteúdo em BranchB.

Consulte também

Referência

Comando Mesclar

Conceitos

Operações disponíveis apenas a partir da linha de comando (Team Foundation Version Control)

Outros recursos

Comandos do utilitário de linha de comando do TF