2010-02-24 10 views
45

다음과 같은 부분이 있습니다. TFS에 보관하면 변경 내용의 서버 복사본이 만들어져 손실되지는 않지만 작업중인 소스 코드 트렁크/분기로 체크하지는 않습니다.TFS에서 Unshelving : 그것은 무엇을 의미합니까?

질문 : 어떤 상황에서 "unshelve"기능을 사용 하시겠습니까? TFS 서버에서 shelveset을 제거한다는 의미입니까? 선반에서 가져다 드릴까요? 또는 쉘브 셋과 "실제"소스 코드 사이의 차이점은 무엇입니까?

답변

51

실망하지 않는 것은 선반 세트를 컴퓨터에 복원하여 작업을 계속 수행 할 수있는 방법입니다. 서버의 쉘브 셋은 변경되지 않습니다 (다시 쉘프를하고 동일한 쉘셋 이름을 사용해야 함).

내가 사용하는 방법 중 하나는 내가 작업하는 동안 컴퓨터간에 변경 사항을 이동하는 것입니다. 내 데스크톱 컴퓨터에 보관 한 다음 랩톱에서 보관하지 않은 다음 랩톱에서 계속 작업 할 것입니다.

코드 검토 나 다른 이유로 사용자와 변경 사항을 공유하는 데 사용할 수도 있습니다. 선생님이 변경 사항을 저장하면 상대방이 가서 수행 한 작업을 볼 수 있습니다.

언 샐빙은 실제로 서버에서 쉘브 셋 또는 다른 것을 변경하지 않습니다. 그것은 단지 작업입니다.

+1

동료가 내게 답장을 보내고, 그의 변경 사항을 실행하지 못하고 체크해 보았습니다. 일단 내가 끝내면 그의 리뷰를 다시 보냅니다. 그의 변화를 어떻게 제거 할 수 있습니까? 즉, 어떻게 unshelving을 취소 할 수 있습니까? 내가 바꾼 각 파일을 마우스 오른쪽 버튼으로 클릭하고 실행 취소해야합니까? – Ciwan

+0

@Ciwan, 그의 선전을하기 전에 코드를 선반에 쌓아 두어야합니다. 그런 다음 자신의 작업을 마쳤 으면 코드를 unshelve하십시오. – David

30

Herms is spot on. 그의 대답을 읽으십시오.

중요한주의 사항 : 선반 세트 이후에 가져 오기를 수행 한 경우 Unshelve는 서가 세트에 포함 된 파일의 로컬 버전 만 롤백합니다. 따라서 일관성없는 작업 영역이있을 가능성이 큽니다.

좋은 연습은 항상 후 다시 얻으십시오. 입니다. 따라서 반쯤 새롭거나 절반 이상 오래된 상태에있는 부작용 인 팬텀 빌드 오류에 시간을 낭비하지 않아도됩니다. 또한 @ Checkin 시간 만 발견하는 대신 선반 집합 내용과 최신 서버 개정 간의 충돌을 사전에 해결해야합니다.

4

코드를 진행하는 동안 백업을 위해 shelve를 사용합니다. 하드 드라이브 충돌 또는 기타 등등의 가능성이 있습니다. 코드 빌드에 대해 걱정할 필요조차 없습니다. 작업을 염두에 두지 않는 한, 내 팀의 다른 개발자가 작업을 볼 수 없기 때문에 작업을 염두에 두지 마십시오.

언 샐프 (Unshelve)는 작업 공간에서 변경 사항을 다시 보류합니다. 서버에서 shelveset을 제거하면 삭제됩니다.

리차드 버그 (Richard Berg)가 말한 바에 따르면, 전동 공구의 버전에는 실망하지 않는 것이 실제로 포함되어 있습니다.

+1

불행히도 'tfpt unshelve'는 내 경험으로는 매우 버그가 있습니다. –

+0

자주 사용하지 않습니다. 이후에 일을하는 것이 더 쉽습니다. 하나의 경우에 사용할 것입니다. 체크되지 않은 코드를 다른 (그러나 매우 유사한!) 브랜치로 옮길 필요가 있다면 말이죠. – stannius

+0

버그가 없습니다. 그것의 과정. TFS가 정확한 코드를 유지할 것으로 기대할 수는 없습니다. 그러나 tfs는 그것이 unshelves 때 95 % -100 %에 가까운 일을 할 것이라고 생각합니다. – Kurkula