다음을 통해 공유


Difference 명령

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

Visual Studio 2019 | Visual Studio 2022

TFVC(Team Foundation Version Control) 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

매개 변수

인수

인수

설명

<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다르게 작동합니다. 그러나 옵션을 사용하고 파일 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 diff 입력하거나 tf difference 입력하여 이 명령을 실행할 수 있습니다.

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

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

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

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

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

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

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

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

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

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

  • tf difference header.h;LBeta1같은 itemspecversionspec 포함하는 경우 TFVC는 해당 버전을 디스크의 현재 작업 영역 버전과 비교합니다.

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

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

출력 형식 형식

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

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

  • Brief 형식은 비교되는 파일이 다른지 여부를 출력합니다.

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

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

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

  • SS_SideBySide Visual SourceSafe의 기본 병렬 출력 형식입니다.

  • 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