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:
|
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çã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:
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
|
/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:
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.
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.
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.
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
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
Conceitos
Operações disponíveis apenas a partir da linha de comando (Team Foundation Version Control)