다음을 통해 공유


Difference 명령

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

TFVC(Team Foundation 버전 제어) difference 명령은 가능한 경우 두 파일, 두 폴더의 파일 또는 선반과 로컬 또는 서버 파일 간의 차이점을 비교합니다.

필수 조건

difference 명령을 사용하려면 지정한 모든 항목에 대한 읽기 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 기본 TFVC 권한을 참조 하세요.

구문

tf diff[erence] itemspec [/version:versionspec] [/type:filetype] 
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] 
[/options][/noprompt][/login:username,[password]]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format] 
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]] 
shelveset_itemspec [/type:filetype] 
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase] 
[/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] /configure

매개 변수

인수

Argument

설명

<itemspec>

필수입니다. 비교할 항목을 지정합니다. 버전 또는 경로가 지정되지 않은 경우 현재 작업 영역 버전이 가정됩니다. 로컬 및 Azure DevOps 서버 경로를 모두 허용합니다.

TFVC가 구문 분석 itemspec 하여 범위 내에 있는 항목을 확인하는 방법에 대한 자세한 내용은 Team Foundation 버전 제어 명령 사용을 참조 하세요.

difference 명령은 야생카드 문자를 지원하지 않습니다.

이 매개 변수는 옵션과 /shelveset 결합할 수 없습니다.

<itemspec2>

선택 사항. 비교할 항목 itemspec 입니다. 두 번째 itemspec항목을 제공하지 않으면 항목의 최신 Azure DevOps 서버 버전이 사용됩니다.

<filetype>

옵션에 대한 /type 값을 제공합니다. 코드 페이지의 코드 페이지 번호 또는 이름을 지정 binary 하거나 text 지정할 수 있습니다.

<format>

다음 형식 중 하나의 출력 형식을 지정하는 옵션과 함께 /format 사용됩니다.

  • Visual
  • Brief
  • Context
  • RCS
  • SS
  • SS_SideBySide
  • SS_Unix
  • Unified
  • Unix

이러한 출력 형식은 주의 섹션에 설명되어 있습니다 .

<versionspec>

옵션에 대해 사용자가 제공한 값입니다 /version . TFVC가 버전 사양을 구문 분석하여 범위 내에 있는 항목을 결정하는 방법에 대한 자세한 내용은 Team Foundation 버전 제어 명령 사용을 참조 하세요.

<shelvesetowner>

사용자 이름으로 선반의 소유자를 식별합니다. 이 매개 변수에 대한 값이 제공되지 않으면 현재 사용자가 가정됩니다.

<shelvesetname>

선반의 이름을 지정합니다. 다른 사용자가 각 선반을 소유하는 한 TFVC를 실행하는 서버에서 동일한 이름으로 둘 이상의 선반을 만들 수 있습니다.

<shelveset_itemspec>

기본 선반 버전과 비교할 선반에 있는 폴더 또는 파일의 이름을 지정합니다.

<username>

옵션에 값을 /login 제공합니다. 사용자 이름 값을 하나 DOMAIN\username 또는 username.으로 지정할 수 있습니다.

옵션

옵션

설명

/type

검색된 인코딩을 재정의하고 지정된 인코딩을 사용하여 파일을 차이점 엔진에 표시합니다.

/version

비교할 파일 또는 폴더의 버전을 지정합니다. 기본적으로 TFVC는 .를 제공하지 versionspec않는 경우 작업 영역 버전을 사용합니다.

플래그를 /version 사용하는 대신 각 파일 이름의 끝에 세미콜론 및 버전 지정자를 추가하여 버전을 지정할 수 있습니다.

/format

인수로 지정된 출력 형식을 format 지정합니다.

/ignorespace

비교된 파일 간의 공백 차이를 강조 표시하지 않습니다.

/ignoreeol

두 파일 또는 파일 버전에서 새 줄 문자 간의 차이를 무시합니다. /ignoreeol 는 8개의 공백을 1과 동일하게 처리하는 것과 다르게 ignorespace작동합니다. 그러나 이 옵션을 사용하고 /ignoreeol 파일 A에 변경되지 않은 텍스트 영역 사이에 두 개의 새 줄 문자가 있고 파일 B에 새 줄 문자가 있는 경우 결과가 차이로 표시됩니다. 두 파일에 새 줄이 하나만 있지만 파일 A가 새 줄로 사용하고 \r\n 파일 B가 사용하는 \n/ignoreeol 경우 이 옵션은 이를 차이로 무시합니다.

/ignorecase

비교된 파일 간의 문자 대/소문자 차이는 강조 표시하지 않습니다.

/recursive

현재 폴더와 모든 하위 폴더의 차이점을 비교합니다.

/options

에서 호출할 도구에 대한 옵션 문자열을 difference지정합니다. 자세한 내용은 파일 형식을 차이점 도구와 연결하고 파일 형식을 병합 도구와 연결합니다.

/shelveset

선반의 기반이 되는 Azure DevOps 서버 버전과 비교할 선반을 지정합니다.

이 옵션은 인수와 itemspec 결합할 수 없습니다. 개별 선반 항목을 비교하기 위해 다음을 shelveset_itemspec제공할 수 있습니다.

/noprompt

이 작업을 완료하는 동안 표시되지 않는 대화 상자를 표시하지 않습니다.

/configure

Visual Studio 사용자 인터페이스에서 사용자 도구 구성 대화 상자를 호출합니다. 자세한 내용은 파일 형식을 차이점 도구와 연결합니다.

/login

TFVC를 사용하여 사용자를 인증할 사용자 이름과 암호를 지정합니다.

설명

참고 항목

이 명령을 실행하려면 명령줄을 입력하거나 tf difference 명령줄에 입력 tf diff 할 수 있습니다.

이 명령을 사용하여 difference 비교하고 가능한 경우 다음 사이의 차이점을 표시할 수 있습니다.

  • 두 개의 서로 다른 파일 또는 동일한 파일의 두 버전.

  • 폴더에 있는 항목 중 하나 이상입니다.

  • Azure DevOps 서버의 선반에 있는 항목 중 하나, 일부 또는 모든 항목

difference 명령을 사용하여 버전이 지정된 파일과 버전이 아닌 파일을 모두 비교할 수 있습니다.

TFVC는 모든 파일을 형식별로 분류합니다. 두 파일의 인코딩이 같으면 텍스트 파일을 나란히, 한 줄씩 병합하고 비교할 수 있습니다. 인코딩이 동일하지 않은 두 파일을 비교하려면 이 옵션을 사용하여 /type 파일에 대한 인코딩 속성을 일시적으로 마스크하거나 재정의할 수 있습니다.

이진 파일은 비교할 수 있지만 병합할 수는 없습니다. 명령에 하나 이상의 이진 파일을 전달하는 경우 TFVC는 이 파일 difference 과 비교할 항목 간에 차이가 있는지 여부를 나타냅니다. TFVC가 서로 다른 형식의 파일을 구분하고 처리하는 방법에 대한 자세한 내용은 파일 형식 관리를 참조 하세요.

두 개의 파일 이름을 지정하면 두 파일이 비교됩니다. /version 플래그를 사용하는 대신 각 파일 이름의 끝에 세미콜론 및 버전 지정자를 추가하여 버전을 지정할 수 있습니다.

차이 명령에 하나 itemspec 만 전달하는 경우:

  • 제공하지 versionspec않으면 항목의 현재 작업 영역 버전이 기본적으로 기본 작업 영역 버전과 비교됩니다. 예를 들어 tf difference header.h header.h의 현재 버전을 header.h기반이 되는 버전과 비교합니다.

  • 예를 들어 tf difference header.h;LBeta1TFVC에 itemspec포함된 versionspec 경우 해당 버전을 디스크의 현재 작업 영역 버전과 비교합니다.

  • 같은 /version:C1~C4버전 범위를 지정하면 범위의 두 엔드포인트에 있는 파일 버전이 비교됩니다.

명령줄 유틸리티를 사용하는 tf 방법에 대한 자세한 내용은 Team Foundation 버전 제어 명령 사용을 참조 하세요.

출력 형식 형식

옵션과 함께 /format 사용되는 매개 변수는 format 다양한 출력 형식을 지정합니다. 사용할 수 있는 출력 형식은 다음과 같습니다.

  • Visual 형식 형식은 외부 차이 애플리케이션을 엽니다. 기본적으로 diffmerge.exe 시작됩니다.

  • Brief 형식은 비교 중인 파일이 다른지 여부를 인쇄합니다.

  • Context 형식은 파일의 차이점에 대한 컨텍스트 줄을 제공합니다. 이 형식은 UNIX 기반 diff -c 출력 형식에서 파생됩니다.

  • RCS 형식은 컨텍스트 선이 제공되지 않는다는 점을 제외하고 유사 /format:unix합니다. 파일 끝에 누락된 줄 표식의 끝 부분에 대한 특수 전달이 제공되지 않습니다.

  • SS는 Visual Source금고 기본 차이 출력 형식입니다. 자세한 내용은 Diff(명령줄)를 참조하세요.

  • SS_SideBySide는 Visual Source금고 기본 병렬 출력 형식입니다.

  • SS_Unix 는 출력 형식과 /format:unix 비슷하지만 /format:ss_unix 컨텍스트 줄을 포함하며 /format:unix 그렇지 않습니다.

  • Unified 형식은 UNIX 기반 diff -u 출력 형식에서 파생됩니다. /format:context 는 차이점 문자열 간에 동일한 컨텍스트 줄을 반복하지만 /format:unified 반복하지는 않습니다.

    Unified 형식은 다음 차이 문자열까지의 거리가 컨텍스트 줄 수보다 큰 경우에만 새 통합 차이 문자열(@@ ... @@) 줄을 생성합니다.

  • Unix 출력 형식은 UNIX 기반 diff 명령 출력 형식에서 파생됩니다.

    Unix 출력 형식은 다음과 같은 방식으로 생성됩니다.

    <metadataline>
    "< " line prefix for lines from the first file
    "---" line
    "> " line prefix for lines from the second file
    
    <metadataline> can be one of these possibilities:
    #a#,# -- add lines from line # in file1 into file2 at lines #->#
    #,#d# -- delete lines from line # -> # in file 1 from file2 at line #
    #,#c#,# -- change lines from line # -> # in file1 into the lines in file2 at line # -> #
    
    # signs separated by commas indicate a line range.
    # signs before the character indicate line numbers in the first file.
    # signs after the character indicate line numbers in the second file.
    
    /// No end of line marker at the end of the file:
    /// \ No newline at end of file
    

예제

다음 예제에서는 로컬 버전의 314.cs Azure DevOps 서버에서 검사 파일의 버전인 314.cs 작업 영역 버전 간의 차이점을 표시합니다.

c:\projects>tf difference 314.cs

다음 예제에서는 src 폴더에서 변경된 모든 파일을 표시하지만 src하위 폴더에서 변경된 파일은 표시하지 않습니다.

c:\projects>tf difference src /format:visual

다음 예제에서는 1254.cs 변경 집합 3과 변경 집합 8 간의 차이점을 표시합니다.

c:\projects>tf difference /version:C3~C8 1254.cs

다음 예제에서는 레이블 release 에 속하는 314.cs 버전과 변경 집합 3200에 속하는 버전 간의 차이점을 표시합니다.

c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200

또는

c:\projects>tf difference 314.cs;Lrelease~C3200

다음 예제에서는 Pat이라는 사용자가 선반 PeerCodeReview8 에 보류한 e271.cs 버전과 변경 내용을 기반으로 하는 기본 선반 버전 간의 차이점을 표시합니다. 출력에는 사용자가 보류할 때 보류 중인 e271.cs 변경 유형도 표시됩니다.

c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs

다음 예제에서는 선반에 있는 PeerCodeReview2 모든 파일과 해당 파일의 기본 선반 버전 간의 차이점을 표시합니다.

c:\projects> tf difference /shelveset:PeerCodeReview2