Shelve 명령
업데이트: 2007년 11월
보류 중인 변경 내용 집합을 버전 제어 서버에 실제로 체크 인하지 않고 보류 중인 체크 인 메모, 설명 및 연결된 작업 항목 목록과 함께 Team Foundation Server에 저장합니다.
필요한 권한
shelve 명령을 사용하려면 보류 집합 소유자이거나 보류된 변경 내용 관리 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.
tf shelve [/replace] [/comment:("comment"|@commentfile)] [shelvesetname[;owner] [/validate]
tf shelve [/move] [/replace] [/comment:("comment"|@commentfile)]
[/recursive] shelvesetname[;owner] itemspec [/validate]
tf shelve /delete [/server:servername] shelvesetname[;owner] [/validate]
매개 변수
인수 |
설명 |
---|---|
commentfile |
보류 집합에 대한 설명을 읽어야 하는 파일의 파일 시스템 경로를 지정합니다. |
comment |
보류 집합에 대한 설명을 지정합니다. |
servername |
/server 옵션에 대한 사용자 제공 값입니다. |
itemspec |
보류할 파일이나 폴더를 식별합니다. 이 매개 변수가 지정되지 않은 경우 기본적으로 현재 작업 영역에 있는 모든 보류 중인 변경 내용이 보류됩니다. Team Foundation에서 itemspecs를 구문 분석하여 범위 내에 있는 항목을 결정하는 자세한 방법은 명령줄 옵션을 참조하십시오. |
shelvesetname |
Team Foundation 서버에서 보류 집합을 가져올 때 기준으로 사용될 수 있는 이름을 지정합니다. /replace도 지정한 경우에만 기존의 shelvesetname 및 owner 조합을 지정할 수 있습니다. 이 매개 변수에는 값을 제공해야 합니다. |
owner |
사용자 이름으로 보류 집합의 현재 또는 의도한 소유자를 식별합니다. 지정되지 않은 경우 기본적으로 보류 집합의 소유권이 현재 사용자에게 할당됩니다. |
옵션 |
설명 |
---|---|
/move |
보류 작업이 성공한 후에 작업 영역에서 보류 중인 변경 내용을 제거합니다. |
/replace |
동일한 이름 및 소유자를 가진 기존 보류 집합을 사용자가 지정한 보류 집합으로 바꿉니다. |
/delete |
지정한 보류 집합을 삭제합니다. /server 옵션만 이 옵션과 함께 사용할 수 있습니다. /noprompt 옵션을 포함하지 않은 경우 /delete 옵션이 지정되면 확인 메시지가 표시됩니다. |
/comment |
보류된 변경 내용을 설명하는 지정된 설명을 추가합니다. |
/recursive |
제공된 itemspec이 폴더인 경우 지정된 보류 집합 폴더의 모든 항목과 해당 하위 폴더 및 그 안에 있는 모든 항목을 보류합니다. |
/server |
지정된 보류 집합을 작성, 수정 또는 삭제할 Team Foundation 버전 제어 서버를 지정합니다. |
/noprompt |
사용자 입력을 요청하는 메시지를 표시하지 않습니다. |
/validate |
/noprompt와 함께 사용하지 않을 경우에만 유효합니다. 이 옵션을 사용하면 보류 - 소스 파일 대화 상자를 열었을 때 유효성 검사 확인란이 선택됩니다. 유효성 검사 확인란이 선택되면 이 대화 상자에서는 체크 인 정책을 평가하고 필수 체크 인 메모가 채워졌는지 확인합니다. 다른 사람이 검토 및 체크 인할 수 있도록 변경 내용을 전달하려는 경우에 이 옵션이 유용합니다. |
설명
tf 명령줄 유틸리티의 shelve 명령은 Team Foundation Server에서 보류 중인 변경 내용, 연결된 작업 항목 목록, 진행 중인 체크 인 메모, 보류 집합의 설명 등을 백업합니다. 보류 집합은 서버에 커밋되지 않은 변경 집합과 매우 유사합니다. 변경 집합과 마찬가지로 충분한 권한을 가진 모든 사용자가 서버에서 로컬 작업 영역으로 보류 집합을 가져올 수 있습니다.
보류는 충분하게 테스트되지 않은 보류 중인 변경 내용을 체크 인하는 또 다른 방법입니다. 다음과 같이 작업을 중단하려는 경우 보류를 사용합니다.
변경 내용을 버전 제어 서버에 체크 인하지 않고 다른 개발자 또는 테스터와 함께 로컬 작업 파일 집합을 공유합니다.
보류 중인 변경 내용 그룹을 체크 인하지 않고 일시적으로 유보함으로써 우선 순위가 더 높은 문제를 먼저 처리할 수 있습니다. 우선 순위가 높은 작업을 처리한 후에 Unshelve 명령을 사용하여 보류된 변경 내용을 복원할 수 있습니다.
/move 옵션을 포함할 경우 shelve 명령은 보류된 모든 파일 수정 버전을 기본 작업 영역 버전으로 롤백합니다. 기본 작업 영역 버전은 서버에서 현재 작업 영역으로 가져온 마지막 버전입니다. 특히 /move 옵션은 사용자가 보류하는 모든 항목이 다음과 같이 처리되도록 합니다.
Undo를 사용하여 보류된 변경 내용을 취소합니다. 보류 중인 추가 내용이었던 파일이 작업 영역에서 삭제됩니다.
보류 중인 버전이 존재하는 모든 파일의 기본 작업 영역 버전을 서버에서 현재 작업 영역으로 가져옵니다.
현재 작업 영역의 모든 항목이 읽기 전용으로 표시됩니다.
/delete 옵션을 포함할 경우 Team Foundation은 Team Foundation 서버에서 지정된 보류 집합을 영구적으로 제거합니다.
tf 명령줄 유틸리티를 검색하는 방법에 대한 자세한 내용은 Tf 명령줄 유틸리티 명령을 참조하십시오.
예제
다음 예제에서는 Team Foundation Server에서 Reflector_BuddyTest라는 새 보류 집합을 만들고 사용자 Hans에게 소유권을 할당한 다음, 현재 작업 영역의 모든 항목을 마지막 get 작업 중에 다운로드한 최신 버전으로 반환하고 읽기 전용 상태로 설정합니다.
c:\projects> tf shelve Reflector_BuddyTest;Hans /move
다음 예제에서는 기존 보류 집합인 "new-feature"를 서버에서 삭제하고 해당 이름으로 새 보류 집합을 만든 다음 모든 보류 중인 변경 내용을 현재 작업 영역에서 유지합니다.
c:\projects> tf shelve new-feature /replace
다음 예제에서는 C:\projects 작업 폴더 및 해당 하위 폴더의 모든 .cs 파일에 대한 모든 보류 중인 변경 내용을 포함하는 HelloWorld_TestMe라는 보류 집합을 만듭니다.
c:\projects> tf shelve HelloWorld_TestMe c:\projects\*.cs /recursive
다음 예제에서는 HelloWorld_24라는 보류 집합을 삭제합니다.
c:\projects> tf shelve HelloWorld_24 /delete