문제

누군가가 조직을 떠났지만 떠나기 전에 그는 알 수없는 이유로 모든 파일을 잠그었다.

다른 개발자가 작동 할 수 있도록 어떻게 모든 잠금을 해제합니까?

도움이 되었습니까?

해결책

다음 작업을 위해서는 체크인을 취소하려는 프로젝트의 프로젝트 관리자이거나 모든 프로젝트 에서이 작업을 수행하려는 경우 Team Foundation 관리자가되어야합니다.

여전히 사람의 사용자 이름이 있다면 다음과 같은 일을 할 수 있습니다.

  • Visual Studio 명령 프롬프트 열기 (시작 -> 프로그램 -> Microsoft Visual Studio 200x-> Visual Studio Tools-> Visual Studio 200x 명령 프롬프트)
  • 다음 명령을 실행하십시오.

TF 잠금 /잠금 : 없음 /작업 공간 : WorkSpaceName; username /recursive $ /

사용자를위한 작업 공간 목록을 얻으려면 동일한 프롬프트에서 다음 명령을 실행하십시오.

TF 작업 공간 /소유자 : 사용자 이름

더 많은 명령을 보려면 확인하십시오 TF /?

다른 팁

개발자가 조직을 떠난 경우 가장 좋은 방법은 작업 공간을 삭제하는 것입니다. 이렇게하면 파일이 잠금 해제되지만 서버의 일부 리소스를 확보 할 수 있습니다.

몇 년 전에 나에게 일어 났을 때 주제에 대해 내가 한 다음 블로그 게시물을 참조하십시오.

http://www.woodwardweb.com/vsts/unlocking_files.html

명령 줄 (tf.exe)을 사용하여 작업 영역을 삭제하거나 우수한 것을 사용할 수 있습니다. TFS 조수 매력에서.

이것이 내가 이것을 해결 한 유일한 방법이었습니다. 여기에는 사용자의 작업 공간 삭제가 포함되었습니다.

http://2toad.com/blog/2012/1/27/how-to-manage-tfs-workspaces

오류 메시지에 "항목 $/...은 Workspace Somamachine123에서 1에 의해 체크 아웃을 위해 잠겨 있습니다." 그런 다음 명령을 사용합니다.

tf workspace /delete /server:http://machinename:8080/tfs/DefaultCollection someMachine123;someUser:1

컬렉션 URL과 someMachine123;someUser:1.

오류 메시지가 사용자를 다음과 같이 언급했다는 사실에주의를 기울였습니다. someUser:1, 그래서 나는 명령에서 그것을 모방했다. 그냥 명령을 실행하는 것만으로는 충분하지 않았습니다. someUser 뿐. 1이 무엇인지 잘 모르겠습니다.

참고 서버는 완전히 자격을 갖춘 컬렉션 경로이어야합니다. Team Foundation Server Administration Console-> Application Tier-> Team Project Collections로 이동하여 찾을 수 있습니다. 하단 창에는 상단에 선택된 컬렉션의 URL이 표시됩니다. 창유리.

실수로 복수를 사용하려고했기 때문에 문제가있었습니다. workspaces 그냥 대신 workspace 복수형의 비슷한 명령이 있기 때문입니다.

먼저이 작업을 수행 할 권리가 있어야합니다. 가장 쉬운 것은 TFS 조수를 사용하는 것입니다. http://www.attrice.info/cm/tfs/

추가 /수집이 필요했습니다 : CollectionUrl 그렇지 않으면 작업 공간을 찾을 수 없습니다.

  • 목록 항목

TF Loc /Lock : 없음 /작업 공간 : WorkSpaceName; 사용자 이름 /수집 : CollectionUrl

여기에 있습니다 TFS 권한 사용에 대한 설명.

"다른 사용자의 변경 잠금 해제"권한을 허용하는 것은 다른 사용자가 보유한 잠금 장치를 제거하기 위해 허용하는 권한이 있어야합니다.

시스템 관리자가 사용자 비밀번호를 재설정하고 해당 사용자로 로그온하고 모든 파일을 잠금 해제하십시오 ...

나는 이것이 더 이상이 조직에 참여하지 않는 사람의 질문에 대한 해결책이라고 생각합니다 ...

서버에서 해당 사용자의 작업 공간을 삭제하는 것이 좋습니다. 예시

TF Workspace /Delete /Server : your_tfs_server 작업 영역; 사용자 이름

때때로 이것은 완전히 다른 응용 프로그램으로 다른 문제를 마스킹하는 것이 다른 사용자가 잠겨 있지만, 합병하려는 새 프로젝트에 대한 새 폴더를 만들 수는 없습니다 (Target은 창조물을 허용하지 않으며 누군가가 누군가가 그들의 이름에 잠겨있는 파일) 그러나 당신은 더 깊이 파고 들어 다른 프로젝트는 범인입니다.

따라서 완전히 다른 프로젝트는 다른 사람이 파일을 잠그는 데 문제가 될 수 있습니다.

저를 위해 작동하는 방법, 내 계정에는 관리자 권한이 있습니다. TFS 및 프로젝트 :

Visual Studio 2015에서 :

  1. 이동 팀 탐색기
  2. 솔루션을 즉시 클릭하고 선택하십시오 소스 컨트롤 수출기에서 열립니다
  3. 왼쪽에서 솔루션을 오른쪽으로 클릭하십시오
  4. 선택하다 고급의
  5. 선택하다 자물쇠...
  6. 왼쪽에서 솔루션을 오른쪽으로 클릭하십시오
  7. 선택하다 고급의
  8. 선택하다 터놓다 (이제 잠금 해제를 선택할 수 있습니다)

지금 당장 모든 개발자는 자신의 변경 사항을 쉽게 커밋 할 수 있습니다 :)

이 솔루션을 최후의 수단으로 사용하십시오.

TFS 2012를 사용하고 있습니다. TFS 데이터베이스에 가서 다음 쿼리를 실행했습니다. 그리고 그것은 효과가있었습니다! 물론 데이터베이스를 엉망으로 만들거나 백업을받을 때 매우주의하십시오.

데이터베이스가 호출됩니다 TFS_ <u003Cyour_TFS_collection_name> >. 무시하십시오 TFS_CONFIGURATION MSSQL 데이터베이스. 확실하지 않지만 당신이 없다면 TFS_ <u003Cyour_TFS_collection_name> > 데이터베이스, 설정은 tfs_defaultCollection 데이터 베이스. 자물쇠가 저장됩니다 tbl_pendingchange.lockstatus.

/*Find correct row*/
SELECT LockStatus, PendingChangeId, *
FROM tbl_PendingChange
WHERE TargetServerItem like '%<<fileName>>%'

/*Set lock status to NULL (mine was set to 2 initially)*/
UPDATE tbl_PendingChange SET LockStatus = NULL WHERE
TargetServerItem like '%<fileName>>%'
AND PendingChangeId = <<PendingChangeId from above>>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top