[visual-studio-2008] TFS 체크인을 롤백하려면 어떻게합니까?

최근 TFS에서 변경 한 사항을 롤백하고 싶습니다. Subversion에서 이것은 매우 간단했습니다. 그러나 TFS에서는 엄청난 골칫거리 인 것 같습니다.

옵션 1 : 이전 버전 가져 오기

  1. 각 파일의 이전 버전을 수동으로 가져옵니다.
  2. 편집 확인
  3. 실패-체크 아웃 (VS2008에서)으로 인해 최신 버전을 가져 오게됩니다.

옵션 2 : TFS 전동 도구 받기

  1. Team Foundation Power Tools 다운로드
  2. cmd 라인에서 롤백 명령 실행
  3. 실패-다른 보류중인 변경 사항이 있으면 작동하지 않습니다.

옵션 3 : 변경 사항을 수동으로 실행 취소

  1. 수동으로 내 변경 사항을 실행 취소 한 다음 새 변경 집합을 커밋합니다.

질문

TFS에서 이전 변경 집합으로 롤백하려면 어떻게합니까?



답변

  1. Team Foundation Power Tools를 다운로드하여 설치 합니다.
  2. Visual Studio 명령 프롬프트를 엽니 다.
  3. TFS가 매핑 된 파일 시스템의 디렉터리로 이동합니다. 이 작업을 수행하지 않으면 롤백을 시도 할 때 “작업 영역을 확인할 수 없습니다”오류가 발생합니다.
  4. 다른 모든 항목이 체크인 또는 보류되었는지 확인하십시오.
  5. tfpt rollback을 실행하여 인터페이스를 불러옵니다.
  6. 롤백 할 변경 세트를 선택하십시오.
  7. 롤백 한 파일의 새 버전을 체크인하십시오.

이 도구의 가장 큰 단점은 병합하기 전에 작업 공간의 모든 항목을 새로 고치려고한다는 것입니다. 영향을받는 파일이있는 소스 트리의 위치에 직접 매핑되는 롤백을위한 새 작업 공간을 만들어이 문제를 해결했습니다.

롤백 할 변경 집합을 파악하는 데 도움이 필요한 경우 무료 Team Foundation Side Kicks 추가 기능 의 코드 검토 도구 가 매우 유용합니다.


답변

솔루션 # 1이 작동합니다. 1. 각 파일의 이전 버전을 수동으로 가져옵니다.

  1. 편집을 위해 체크 아웃

  2. 파일을 체크인하고 메시지가 표시되면 서버 변경 사항 무시하십시오.

실패한 이유는 “체크 아웃시 최신 버전의 항목 가져 오기”옵션이 켜져 있어야하기 때문입니다. 도구 … 옵션 … 소스 제어 … Visual Studio Tema Foundation Server로 이동하여 “체크 아웃시 최신 버전의 항목 가져 오기”를 선택 취소하여이 옵션을 끕니다.

건배


답변

롤백이 tfpt.exe에서 Team Foundation 버전 제어 도구 인 tf.exe로 이동되었습니다.

TF - Team Foundation Version Control Tool, Version 10.0.30319.1
Copyright (c) Microsoft Corporation.  All rights reserved.

Rolls back the changes in a single or a range of changesets:
tf rollback /changeset:changesetfrom~changesetto [itemspec] [/recursive]
            [/lock:none|checkin|checkout] [/version:versionspec]
            [/keepmergehistory] [/noprompt] [/login:username,[password]]

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


답변

TFS 2010 버전 제어에서 변경 집합을 롤백 (되돌리기)하는 두 가지 옵션이 있습니다. 첫 번째 옵션은 사용자 인터페이스를 사용하는 것입니다 (최신 버전의 TFS 2010 Power Tools가 설치된 경우).

TFS 2010 용 UI의 롤백 변경 집합

다른 옵션은 TFS 2010 버전 제어 명령 줄 응용 프로그램을 사용하는 것입니다.

tf.exe rollback

블로그 게시물 에 두 가지 접근 방식에 대한 정보가 있습니다. http://www.edsquared.com/2010/02/02/Rollback+Or+Undo+A+Changeset+In+TFS+2010+Version+Control.aspx


답변

옵션 1을 작동시키는 또 다른 방법은 단계의 순서를 바꾸는 것입니다.

  1. 항목 확인
  2. 특정 버전을 이전 버전으로 가져 오기
  3. 체크인 ( “경고 서버 버전이 최신 버전 임”대화 상자 무시) 또는 보류중인 변경 사항 대화 상자의 충돌 섹션에서 로컬 버전을 유지하여 충돌을 해결하십시오.

이것은 체크 아웃시 최신 정보 가져 오기를 설정 한 경우에도 작동합니다.


답변

참고로 TFS 2010을 사용하는 경우 Rollback Command (Team Foundation Version Control) 링크가 있습니다. 매뉴얼 있습니다.

특정 롤백 변경 집합을 로 이동 프롬프트 비주얼 스튜디오 명령 (2010) 당신의 TFS 작업 공간 디렉토리, 탐색 및 명령을 입력 :

tf rollback /changeset:C12345

12345변경 세트 번호는 어디에 있습니까 ? 그 후, 그것이 한 일에 대한 로그를 보여줄 것이며 병합 충돌을 분류해야 할 것입니다.


답변

아, 방금 TFPT.exe 사용에 대한CodePlex 문서를 찾았습니다. 변경 세트를 롤백하기 위해 (전원 도구)를 .

이것이 도움이되기를 바랍니다.