Label 명령(Team Foundation 버전 제어)
Team Foundation 버전 제어 서버의 특정 파일 또는 폴더 버전에 레이블을 연결하거나 해당 버전에서 레이블을 제거합니다.
필요한 권한
label 명령을 사용하려면 레이블 권한이 허용으로 설정되어 있어야 합니다. 다른 사용자가 만든 레이블을 수정하거나 삭제하려면 레이블 관리 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.
tf label labelname[@scope] [/owner:ownername]
itemspec [/version:versionspec] [/comment:("comment"|@commentfile)]
[/child:(replace|merge)] [/recursive] [login:username,[password]] [/collection:TeamProjectCollectionUrl]
tf label /delete labelname[@scope]
itemspec [/login:username,[password]] [/collection:TeamProjectCollectionUrl]
매개 변수
인수 |
설명 |
---|---|
labelname |
지정한 항목에서 연결, 수정 또는 제거할 레이블의 이름을 식별합니다. |
@scope |
labelname이 고유한 Team Foundation 버전 제어 서버 디렉터리를 지정합니다. 이 매개 변수를 사용하면 같은 이름의 레이블 두 개가 Team Foundation 버전 제어 서버의 서로 다른 부분에 있을 경우 특정 레이블 또는 레이블 항목의 집합을 독립적으로 작성, 관리, 검색 및 삭제할 수 있습니다. |
ownername |
/owner 옵션에 DOMAIN\JuanGo 또는 juango와 같은 값을 제공합니다. |
itemspec |
레이블을 지정 또는 다시 지정하거나 수정할 파일 또는 폴더를 식별합니다. Team Foundation에서 itemspec을 구문 분석하여 범위 내에 있는 항목을 결정하는 자세한 방법은 명령줄 구문(버전 제어)을 참조하십시오.
참고
Itemspec 인수를 두 개 이상 지정할 수 있습니다.
|
versionspec |
/version 옵션에 c2와 같은 값을 제공합니다. Team Foundation에서 버전 사양을 구문 분석하여 범위 내에 있는 항목을 결정하는 자세한 방법은 명령줄 구문(버전 제어)을 참조하십시오. |
comment |
레이블에 대한 사용자 제공 설명입니다. |
@commentfile |
체크 인에 사용할 설명이 포함된 디스크에 있는 파일의 사용자 제공 경로입니다. |
username |
/login 옵션에 값을 제공합니다. 사용자 이름 값을 DOMAIN\UserName 또는 UserName으로 지정할 수 있습니다. |
TeamProjectCollectionUrl |
레이블을 첨부하거나 레이블을 삭제하려는 파일 또는 폴더의 버전을 포함하는 지정된 팀 프로젝트 컬렉션의 URL입니다(예를 들어, http://myserver:8080/tfs/DefaultCollection). |
Option |
설명 |
---|---|
/owner |
레이블을 소유하는 사용자의 이름을 지정합니다. |
/version |
선택적 요소로서, 레이블을 연결, 수정 또는 제거해야 하는 파일이나 폴더의 버전을 지정합니다. 예를 들어 C93과 같은 변경 집합 값입니다. versionspec을 제공하지 않을 경우 Team Foundation에서는 기본적으로 기본 작업 영역 버전이 사용됩니다. |
/comment |
레이블의 설명을 추가하거나 수정합니다. |
/child |
지정한 레이블과 동일한 기존 레이블을 가진 항목을 처리하는 방법을 식별합니다. 기존 레이블에 해당하는 항목의 버전을 업데이트하려면 Replace를 사용합니다. 기존 레이블을 가진 항목을 유지하려면 Merge를 사용합니다. |
/recursive |
itemspec 및 versionspec과 일치하는 디렉터리의 모든 항목에 레이블을 지정합니다. /delete 옵션과 함께 사용할 수 없습니다. |
/delete |
레이블을 제거합니다. |
/login |
Visual Studio Team Foundation Server에서 사용자를 인증할 사용자 이름과 암호를 지정합니다. |
/collection |
팀 프로젝트 컬렉션을 지정합니다. |
설명
레이블은 Team Foundation 버전 제어 서버에 있는 서로 관련되지 않은 파일 및 폴더의 집합에 선택적으로 연결할 수 있는 마커입니다. 레이블을 사용하면 개발이나 빌드 작업을 위해 파일과 폴더를 간편하게 작업 영역으로 가져올 수 있습니다. 따라서 레이블은 파일과 폴더를 임의로 추가 및 제거하거나 해당 항목의 버전을 변경할 수 있는 변경 집합 또는 날짜/시간과 같습니다. 레이블은 다음 Team Foundation 명령에 전달할 수 있는 버전 사양입니다.
일반적인 형식의 레이블에는 "M1", "Beta2" 또는 "Release Candidate 0" 등의 중요 시점 레이블이 있습니다.
레이블은 버전별로 지정되므로 한 버전의 파일 또는 폴더에만 연결할 수 있습니다. 항목의 각 버전은 여러 개의 레이블을 지원할 수 있습니다.
레이블은 버전이 있는 개체가 아니므로 파일의 레이블 기록은 추적되지 않습니다. 또한 레이블 작업은 작업 영역에서 보류 중인 변경 내용을 만들지 않습니다. label 명령을 실행하면 업데이트가 Team Foundation 버전 제어 서버에 즉시 반영됩니다.
tf 명령줄 유틸리티를 찾는 방법에 대한 자세한 내용은 Tf 명령줄 유틸리티 명령을 참조하십시오.
레이블 제거 및 삭제
Unlabel 명령을 사용하여 파일이나 폴더에서 레이블을 제거할 수 있습니다. 또는 tf label /delete 명령을 사용하여 시스템에서 레이블을 삭제할 수 있습니다.
레이블이 연결된 항목의 목록, 레이블에 대한 설명, 범위 및 소유자를 비롯하여 기존 레이블에 대한 정보는 Labels 명령을 참조하십시오.
오버로드된 레이블 관리
레이블 이름은 지정된 scope 전체에서 고유해야 합니다. 레이블을 추가할 경우 지정되거나 포함된 scope 또는 그 아래에서 해당 레이블 이름을 사용하도록 예약합니다. @scope 매개 변수의 기본값은 $/TeamProject1과 같은 팀 프로젝트입니다.
다른 팀 또는 사용자가 "M3"과 같은 공용 레이블을 Team Foundation 버전 제어 서버의 서로 다른 부분에 있는 버전 제어 파일 집합에 추가할 경우 현재 사용자는 루트 프로젝트 폴더가 서로 다른 디렉터리에 있는 경우에만 M3 레이블을 프로젝트의 버전 제어 파일에 적용할 수 있습니다. 예를 들어, $/math 디렉터리 파일의 레이블이 "M3"으로 지정된 경우 $/projects 디렉터리의 파일에 "M3"을 적용할 수 있습니다.
레이블을 가져오거나 레이블을 제거하거나 레이블이 M3으로 지정된 항목을 관리하려면 @scope 매개 변수를 지정하여 사용할 M3 레이블을 Team Foundation에 알려야 합니다.
Team Foundation 버전 제어 서버의 루트($/)에서 레이블을 만들거나 특정 폴더에 대한 레이블 권한을 조정하여 다른 사용자가 Team Foundation 버전 제어 서버의 서로 다른 부분에서 "M3"과 같은 레이블을 "오버로드"하는 것을 효과적으로 방지할 수 있습니다.
/Child 옵션을 사용하여 레이블 지정 실수 방지
동일한 레이블로 이미 표시된 파일이 포함된 itemspec 및 기존 레이블 이름과 함께 label 명령을 실행할 경우 /child 옵션 값은 표시된 파일을 새 수정 정보로 업데이트할지 여부를 결정합니다. 즉, 파일의 레이블 이름은 동일하지만 범위는 다릅니다.
예를 들어, 314.cs 및 271.cs라는 파일 두 개가 포함된 c:\projects라는 폴더가 있으며 314.cs의 버전 C70에 "ready"라는 레이블이 지정되어 있다고 가정합니다. 314.cs의 최신 버전은 C93입니다. 다음 명령을 사용하여 폴더와 폴더에 포함된 파일의 최신 버전에 "ready"라는 레이블을 적용하면 "ready" 레이블이 314.cs;C70에서 314.cs;C93으로 이동합니다.
tf label ready c:\projects /recursive /version:T /child:Replace
반면에 기존 레이블 "ready"를 314.cs의 버전 C70에서 버전 C93으로 이동하지 않으려는 경우 다음 구문을 사용합니다.
tf label ready c:\projects /recursive /version:T /child:Merge
Merge를 /child 옵션의 값으로 지정할 경우 생성된 레이블의 기존 인스턴스는 그대로 남아 있습니다.
참고
위 두 예제에서 T는 "Tip"을 의미하며 versionspec의 최신 버전을 가져옵니다.
예제
다음 예제에서는 "docs" 폴더와 이 폴더에 포함된 파일 및 폴더의 작업 영역 버전에 "goodbuild" 레이블을 연결합니다.
c:\projects>tf label goodbuild docs /recursive
다음 예제에서는 "goodbuild" 레이블을 "docs" 폴더에 연결하지만 docs 폴더에 포함된 파일과 폴더에는 연결하지 않습니다.
c:\projects>tf label goodbuild docs
다음 예제에서는 Team Foundation 버전 제어 서버에 있는 314.cs의 버전 3에 "goodbuild" 레이블을 연결합니다.
c:\projects>tf label goodbuild /version:3 $/src/314.cs
다음 예제에서는 Team Foundation 버전 제어 서버의 모든 항목에서 "badbuild" 레이블을 삭제합니다.
c:\projects>tf label /delete badbuild
다음 예제에서는 314.cs에 레이블을 적용하기 위해 범위 옵션을 사용합니다.
c:\projects>tf label goodbuild@$/TeamProject1 314.cs