TFS 작업 영역 매핑을 제거하는 방법?


135

팀 프로젝트 내에 tfs로 프로젝트를 만든 다음 프로젝트를 다른 팀 프로젝트의 다른 위치로 옮겼습니다.

Jenkins를 팀 프로젝트에 연결하고 솔루션을 빌드하도록 구성했지만 새 tfs 팀 프로젝트에 연결하도록 설정을 변경하면 아래 오류가 발생합니다.

[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain-eg.net:8080/tfs/oldteamproject].

위의 내용은 기존 작업 공간이 있으므로 아래 명령을 실행하여 제거했습니다.

tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/oldteamproject

작업 공간이 제거되었지만 여전히 같은 오류가 발생합니다.

또한 아래 명령을 실행하여 매핑이 제거되었는지 여부를 확인했습니다.

tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER

그러나 작업 공간이 예상대로 존재하지 않는다고 말합니다.

그래서, 어딘가에 캐싱하고 아래 명령을 실행했다고 생각했습니다.

tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject

그것은 "캐시 경기에서 어떤 작업이 서버에서 * 없다고 말했다 http://domain-eg.net:8080/tfs/oldteamproject "

캐시되지 않은 것 같아요.

그렇다면 오류의 원인과 해결 방법은 무엇입니까?


3
TFS 작업 영역에는 사용자 및 시스템뿐만 아니라 시스템 당 고유 한 작업 폴더 매핑이 포함되어야합니다 . D:\jenkins\jobs\ProjectName1-Build\workspace테스트하는 동안 다른 TFS 사용자로 포함 된 TFS 작업 공간을 설정할 수 있습니까?
Edward Thomson

9
C : \ Users \ {UserName} \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cache 빌드 머신에서 이것을 시도하고 폴더에있는 모든 것을 삭제하십시오
SoftwareCarpenter

같은 문제에 부딪 쳤고, 제 사건은 작업 공간 이름의 시작 부분에 공백이었습니다.
Daniel Rapaport

나는 최근에 TFS 루트를 다시 가져 왔고 같은 문제가있었습니다. 제 경우에는 TFS 탐색기가 "로컬 경로 :"에서 체크 아웃 한 이전 (마지막) 경로를 보여 주었고 클릭 할 수 없습니다 (파란색). 나는 최신 정보를 얻었고 모든 것을 올바른 새 매핑에 넣었고 경로는 파란색 / 활성이되었습니다. 이전의 모든 매핑을 삭제 한 경우 최근에 가져온 마지막 로컬 폴더가 표시 될 수 있습니다.이 폴더는 이제 새 매핑 아래에 파일을 저장하지 않습니다.
Rich M

답변:


196

VS에서 :

  1. 팀 탐색기 열기
  2. 소스 제어 탐색기를 클릭하십시오.
  3. 도구 창의 탐색 모음에는 "작업 영역"이라는 레이블이 붙은 드롭 다운이 있습니다.
  4. 확장하고 "Workspaces ..."옵션을 클릭하십시오 (예, 약간 직관적이지 않음)
  5. "작업 공간 관리"창이 나타납니다. 편집을 클릭하면 작업 공간을 추가 / 제거 / 편집 할 수 있습니다

소스 컨트롤 탐색기

다른 컴퓨터의 VS에서

원격 참여를 편집 할 수있는 참여자와 동일한 시스템에 VS가 없어도됩니다! "Workspaces ..."항목을 누를 때 나타나는 대화 상자에는 "Remote Workspaces 표시"라는 확인란이 있습니다.이를 체크하면 모든 참여 목록이 나타납니다.

원격 작업 공간 표시

명령 행에서

개발자 명령 프롬프트에서 "tf workspace"를 호출하십시오. "작업 공간 관리"를 직접 불러옵니다!


1
그는 빌드 머신 에서이 작업을 수행하고 있으며 Visual Studio가 설치되어 있지 않을 수 있습니다.
Erik Funkenbusch 2016 년

7
고맙지 만 이것이 작동하지만 TFS가 끔찍한 또 다른 이유입니다.
schmoopy

6
모든 작업 공간을 제거했습니다. 그런 다음 새로 추가하여 내 폴더가 이미 wrokspace (이전 / 제거 된) URL tfs에 매핑되었다는 오류가 발생합니다. 새로운 tfs / 작업 공간에 매핑 할 수 없습니다. M vs vs 2015
Sami

11
작동하지 않습니다. 작업 공간은 무엇이든 상관 없습니다. 재부팅, 다시 시작,기도, 함께 발 뒤꿈치를 함께 클릭하십시오 3 배 ... 아무것도 ... 떠나지 않습니다. 새지도에 매핑 할 수 없습니다 ... 작동하지 않습니다.
Beau D' Amore

3
이것은 가장 높은 등급의 답변이지만 작업 공간이 삭제되지 않는 시나리오를 다루지 않습니다 (Beau는 위에서 언급했듯이). 대화 상자를 제거하고 대화 상자를 닫았다가 다시 열면 다시 돌아옵니다. 물론 미친 짓이야
dapug

123

같은 문제가 발생하여 여기에있는 TFS 캐시의 모든 파일을 수동으로 삭제하여 문제를 해결할 수있었습니다.

%LocalAppData%\Microsoft\Team Foundation\3.0\Cache

또는 4.0, 5.0


4
회사에서 네트워크 도메인 이름을 변경할 때 로컬 tfs 캐시 데이터가 동기화되지 않았기 때문에이 기능이 효과적입니다.
dsum

5
나를 위해 아닙니다. 그것은 여전히 ​​말해the path is already mapped in workspace {mypcname};domain\zhasan
SearchForKnowledge

5
\ 4.0 \ Cache와 \ 5.0 \ Cache를 제거했습니다. 누군가를 돕는 경우.
fooser

1
이것은 또한 나를 위해 일했습니다. Pro Tip, Cache폴더 의 파일을 삭제하기 전에 잠시 동안 모든 파일과 폴더를 복사하고 백업 폴더에 보관하십시오. TFS를 이전 상태로 복원해야하는 경우 .
시바

실제로 Team Foundation재 동기화를 수행하려는 경우 아래의 모든 항목을 삭제할 수 있습니다 .
Supersharp

21

TFS에서 맵핑을 제거하려면 다음 단계를 수행하십시오.

  1. 열다 team explorer
  2. 딸깍 하는 소리 Source Control
  3. 당신을 마우스 오른쪽 버튼으로 클릭 project
  4. 클릭 Remove Mapping

6
아직 폴더가 이미 오래된 / 제거 TFS의 URL의 일부 작업 공간에 매핑되는 오류에 직면 제거 매핑에 대한 옵션은 .. .. M 2015 대 사용하지
사미

1
2013 비주얼 스튜디오 프리미엄에 존재하지 않는다
DAMD에게

1
이 옵션은 원래 매핑 된 폴더를 대상으로 할 때만 사용할 수 있다고 생각합니다. 따라서 전체 팀 프로젝트를 재귀로 매핑 하면 전체 팀 프로젝트 만 매핑 해제 할 수 있지만 솔루션 폴더를 매핑하면 행복하게 매핑 해제 할 수 있습니다.
Jeff

@Sami 프로젝트를 마우스 오른쪽 버튼으로 클릭 Remove Mapping하면 Advanced섹션 아래에 표시됩니다
Uday

11

오류는 진짜입니다. 다른 시스템에서 동일한 이름으로 작업 공간을 작성했을 수 있습니다. 이제 다른 기계 이름을 가진 기계를 변경했을 수 있습니다.

따라서 여기에는 확실히 작동하는 해결 방법이 있습니다. 다음은 해결 방법입니다.

  1. "팀 익스플로러"로 이동
  2. "소스 제어"로 이동
  3. 작업 공간 드롭 다운으로 이동
  4. "작업 공간 ..."을 클릭하십시오
  5. 팝업 창이 나타납니다
  6. "원격 작업 공간 표시"를 클릭하십시오
  7. 이제 충돌하는 작업 공간을 삭제하면 작업을 진행할 수 있습니다.

이 링크가 질문에 대답 할 수 있지만 여기에 답변의 필수 부분을 포함시키고 참조 할 수있는 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않을 수 있습니다.
alextansc

링크가 정상적으로 작동합니다. alextansc 주셔서 감사합니다
smthakur19

@ smthakur19 alex가 말한 것은 언젠가 그 링크를 더 이상 사용할 수 없다면 (웹 사이트 다운, 페이지 삭제 등)이 대답은 쓸모가 없습니다. 따라서 참조 된 링크의 필수 텍스트 및 코드를 포함하고 모든 답변에 포함시키는 것이 좋습니다. 따라서 답의 원천과 질문은 모두 그렇습니다.
Beytan Kurt

정교한 설명, 그러나 내 명성이 10 이하로 이미지를 추가 할 수 없습니다.
smthakur19

1
링크가 끊어지면 절차가 작동하지 않습니다. 작업 공간 남아
Beau D' Amore

7

아래 단계를 따르십시오.

Ctrl + Run 

복사하여 붙여 넣기

%LocalAppData%\Microsoft\Team Foundation

다른 버전의 TFS를 얻을 수 있습니다. 여기에 이미지 설명을 입력하십시오

각 폴더를 클릭하면

여기에 이미지 설명을 입력하십시오

이제이 폴더의 모든 데이터를 삭제하십시오.

Visual Studio를 다시여십시오.

감사.


4

2019-01-23 업데이트

명령 에 The workspace wkspaceEg does not exist…올바른 사용자 이름 ( wkspcOwnerDomain\wkspcOwnerUsername)을 사용한 후에도 다음과 같은 오류가 반복해서 발생하는 tf workspace경우

tf workspace "wkspaceEg;wkspcOwnerDomain\wkspcOwnerUsername" /collection:http://tfs.example.com:8080/tfs/collectionEg /login:TFSUsername,TFSPassword

다음 tf workfold명령은 문제를 해결하는 데 도움이 될 수 있습니다. 이 질문을 참조하십시오 .

그래도 작동하지 않고 TFS 사이드킥 을 사용할 수 없거나 사용하지 않으 려면 아래의 위험한 마지막 도랑 옵션으로 진행하십시오.


TFS 2012를 사용하고 있습니다. 캐시 폴더 삭제, 작업 영역 드롭 다운 사용, tf 작업 영역 / remove : *, 제어판, IE의 자격 증명 삭제 등 온라인에서 제안 된 모든 것을 시도했습니다.

아무것도 작동하지 않습니다. 작업 공간이 어떻게 든 손상되었다고 생각합니다. 마지막으로 TFS 데이터베이스로 이동하여 다음 쿼리를 실행했습니다. 작동했습니다! 물론 데이터베이스를 망칠 때 백업을하는 등 매우 조심하십시오 .

데이터베이스를이라고 Tfs_<<your_TFS_collection_name>>합니다. Tfs_ConfigurationMSSQL 데이터베이스를 무시하십시오 . 확실하지 않지만 Tfs_<<your_TFS_collection_name>>데이터베이스 가 없으면 설정이 데이터베이스에있을 수 있습니다 Tfs_DefaultCollection. 매핑은에 저장됩니다 tbl_WorkingFolder.LocalItem.

/*Find correct workspace*/
SELECT WorkspaceId, *
FROM tbl_Workspace
ORDER BY WorkspaceName

/*View the existing mapping*/
SELECT LocalItem, *
FROM tbl_WorkingFolder
WHERE WorkspaceId = <<WorkspaceId from above>>

/*Update mapping*/
UPDATE tbl_WorkingFolder
SET LocalItem = 'D:\Legacy.00\TFS\Source\Workspaces\teamProjEg' WHERE
/*LocalItem = NULL might work too but I haven't tried it*/
WorkspaceId = <<WorkspaceId from above>>


2

여기에 대한 답변 중 어느 것도 내 작업 공간을 제거하지 않았습니다. 그러나 여기 당신에게 도움이 될만한 해결책이 있습니다.

  1. Visual Studio 명령 프롬프트를 엽니 다
  2. Visual Studio를 먼저 닫거나 delete 명령으로 작업 영역을 삭제할 수 없습니다
  3. 작업 공간 명령을 나열하십시오-> tf /? TFS 버전에서 사용 가능한 명령을 찾으십시오.
  4. 작업 공간 나열-> tf 작업 공간
  5. 작업 공간 삭제-> tf 작업 공간 YourWorkspace / delete

이름은 같지만 다른 사용자 (예 : 일반 계정 및 관리자 계정)를위한 두 개의 작업 공간이있는 경우 진행할 수있는 방법입니다. 다른 답변에 설명 된대로 "작업 공간"보기를 열면 해당 두 작업 공간이 두 개의 공간으로 표시되지 않습니다. 현재 사용자를위한 작업 공간 만 나열됩니다. 제 경우에는 작업을 차단하는 두 번째 작업 공간 (관리자 계정)이었습니다. 이 답변에 설명 된대로 수행하면 5 단계에서 "tf workspace YourWorkspace; HiddenUser / delete"를 사용하여 두 번째 작업 공간을 삭제할 수 있습니다.
H. Breitkreutz

2

전체 캐시 폴더를 삭제할 필요는 없습니다. 당신은 모든 설정 / 환경 설정을 잃는다 . 작업 영역 매핑은 다음과 같은 파일에 저장됩니다.

사용자 로컬 설정 / 응용 프로그램 데이터 디렉토리 아래의 VersionControl.config . 윈도우 7에 위치 :

% LocalAppData % \ Microsoft \ Team Foundation \ x.0 \ Cache \ Volatile

여기서 x = 3.0,4.0, 5.0,6.0 등

여기에는 guid라는 폴더 이름이 있으며, 각각의 폴더를 열고 수동으로 앞서 언급 한 파일을 편집하여 해당 로컬 폴더에서 TFS 서버로 작업 공간 맵핑 (디렉토리 경로가 맵핑 된 경로 속성에 있음)을 제거합니다 (더 이상 사용되지 않음) ).


1

마지막으로 모든 작업 공간을 삭제하고 처음부터 시작했습니다. 결정된.


1

Visual Studio를 통해 TFS 서버에 로그인하라는 메시지가 표시되었으므로 일반적으로 서버 액세스에 필요한 SU 계정을 사용했습니다. 이로 인해 몇 가지 문제가 발생하여 다른 폴더에 매핑하면서 모든 항목을 복제 한 사실을 알지 못했습니다. 어느 시점에서 Visual Studio는 일반 사용자에게 되돌아가 보류중인 변경 사항을 "손실"하여 이전 보류중인 매핑에서 새로운 보류중인 변경 사항이 적용되는 것을 확인했습니다.

보류중인 변경 사항을 복구하기 위해 새 위치 (SU 계정이 연결된 위치)에 다시 매핑하려고하면 이미 SU에 매핑되었다는 메시지가 표시되며이를 수행 할 수 없었습니다. 지도를 제거 할 방법이 없습니다! 명령 행 등을 통해 모든 작업 공간을 제거하고 원격 작업 공간을 표시하면 아무것도 표시되지 않습니다. 그런 다음 " 내 컴퓨터 의 SU 사용자 계정 실제로 연결되어 있으면 어떻게됩니까? 도메인이 아니라 . SU로 로컬로 로그인했으며 해당 사용자에 대한 모든 설정 작업 영역이 있습니다. 매핑을 제거하고 일반 사용자로 돌아가 문제없이 다시 매핑 할 수있었습니다.

이야기의 도덕, 아마도 다른 사용자가 동일한 컴퓨터에 로그인되어 현재 로그인 한 사용자에게는 보이지 않으므로 매핑을 제거하거나 볼 수 없습니다.


1

언급 된 단서가 도움이되지 않으면 Team Foundation Sidekick을 다운로드하고이를 사용하여 작업 공간을 삭제할 수 있습니다.


1

파일-> 소스 제어-> 고급-> 작업 영역-> 작업 영역 관리에서 작업 영역을 선택하고 "편집"을 클릭하면 로컬 폴더를 변경할 수 있습니다.


1

여기에있는 모든 답변은 모든 경우에 작동하지 않는 부분 답변 인 것 같습니다. 적절한 답변이 있다고 가정하면이 답변이 모든 경우에 효과가 있다고 생각합니다.

  1. 개발자 명령 프롬프트를 엽니 다. 필자의 경우 VS 2019에 대한 개발자 명령 프롬프트로 이것을 테스트했습니다.
  2. 이 명령을 입력하십시오 : tf workspaces

결과는 구조가 동일한 몇 개의 테이블을 나열 할 수 있습니다. 하나의 테이블 만 표시되면 다른 답변의 일부 가정이 도움이 될 수 있습니다. 그러나 두 개 이상의 테이블이 표시되면 해당 콜렉션 문자열이 중요합니다! 예를 들어, 두 개의 컬렉션이 있다고 가정합니다 (두 개는 다른 하나보다 더 지루한 것 외에 네 개가 다르지 않음).

https://dev.azure.com/foohttps://bar.visualstudio.com/

운이 좋으면이 두 가지 중 하나를 사용하고 싶을 것입니다. 그러나 모두 순환해야하는 경우 한 번에 하나의 컬렉션 만 수행하면됩니다. 여기의 각 "컬렉션"은 Azure DevOps의 "조직"과 같습니다 (제 생각에).

이 콜렉션 세부 사항을 사용하지 않으면 오류 메시지가 표시 될 수 있습니다.

소스 제어 서버를 판별 할 수 없습니다.

  1. 다음으로 사용하려는 콜렉션에 대해이 명령을 입력하십시오.

tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo

이것은 당신이 다루고있는 것에 대한 훨씬 더 완전한 그림을 줄 것입니다. 동일한 컴퓨터에서 여러 리포지토리에 여러 MSA 및 조직 계정이있는 경우 특히 불쾌합니다. 실제로, 동일하게 보이는 항목이 여러 개있을 수 있습니다. 현재 알고있는 내용에 따라 삭제하려고하면 작동하지 않을 수 있습니다. 그러나 우리는 더 많은 정보를 얻을 수 있습니다.

  1. 다음으로 동일한 명령을 실행하지만 /format:xml끝에 추가 합니다.

tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo /format:xml

이제 몇 가지 추가 속성이있는 많은 XML이 제공됩니다. 우리가 가장 관심을 가질만한 것은 소유자 별칭입니다. 이것은 이제이 작업 공간을 탐색하고 삭제하는 데 필요한 누락 된 정보입니다. 이 추가 정보가 없으면 벽에 부딪 히고 오류 메시지가 나타납니다.

하나의 작업 공간을 지정하십시오.

  1. 이제 필요한 모든 정보를 얻었습니다. 추가 OwernAliases항목이 주어지면 삭제하려는 고유 항목을 선택하거나 (두 개 이상인 경우 반복) 다음 명령을 사용하십시오 (몇 가지 예가 나열 됨).

    • tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;Windows Live ID\John.Doe@hotmail.com"
    • tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;John Doe"
    • tf workspace /delete /collection https://dev.azure.com/foo "MyWorkspaceName;2C3E8474-A39C-4785-8794-DC72F09981E6\John.Doe@Example.com"

GUID는 AAD 디렉토리를 식별하며 별명에있을 수있는 공백을 처리하기 위해 따옴표가 있습니다. "MyWorkspaceName"은 작업 공간을 나열한 이전 쿼리에서 가져옵니다.


이 매우 철저한 접근 방식이 없으면이 질문의 다른 모든 답변이 실패 할 수 있습니다. 이러한 작업 중 일부는 로컬 작업 영역을 지우지 만 여전히 충돌 할 수있는 서버 작업 영역을 지우지는 않습니다. 또한 이전에 다른 계정을 사용한 경우 MSA에서 AAD 계정으로 전환 한 경우와 같이 문제가 생길 수 있습니다. 그리고 MSA 계정이 있으면 상황이 정말 털이납니다 있고동일한 워크 스테이션에서 사용한 것과 동일한 전자 메일 주소를 가진 여러 AAD 계정 그리고 그중 다수가 작업 공간의 기본 이름 인 컴퓨터의 호스트 이름을 사용하면 매우 털이 나옵니다. 필자의 경우, 동일한 작업 공간 이름, 소유자 이름 및 컴퓨터 이름을 가진 4 개의 작업 공간이있었습니다 (즉, XML 형식이없는 첫 번째 쿼리에는 4 개의 동일한 레코드가있었습니다!).


이것보다 이것들을 관리하는 더 그래픽적인 방법이 있는지 모르겠습니다. 나는 이것보다 더 좋은 방법을 보았지만 아직 찾지 못했습니다.


0

.sln 파일을 편집하고 tfs 바인딩에 대한 GlobalSection 요소를 제거하여 tfs 맵핑을 제거 할 수도 있습니다.


0

당신의 도움을 주셔서 감사합니다!

문제 작업 공간 찾기 SELECT * FROM tbl_Workspace WHERE WorkspaceName '% xxxxx %'

원하는 작업 공간 찾기 SELECT * FROM tbl_Workspace WHERE WorkspaceName (예 : '% zzzzz %')

상위 200 tbl_WorkingFolder 편집을 선택한 다음 문제점 맵핑 찾기 SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = Problem WorkspaceId 위에서

WorkspaceId를 원하는 WorkspaceId로 변경하십시오.

마지막으로 프로젝트 탐색기로 이동하여 프로젝트에서 매핑 제거를 선택하십시오.

원하는 WorkSpace와 일치하도록 VB6 MSSCCPRJ.SCC를 수정하십시오.


0

먼저 시스템에 Team Explorer 플러그인을 다운로드하여 설치 한 다음 소스 제어 탐색기로 이동하십시오. 탐색 분할 창에서 작업 공간 필드를 찾고 작업 공간 옵션을 클릭하십시오. 작업 공간 옵션을 클릭하면 매핑 된 모든 작업 공간이 표시됩니다. 제거 단추를 클릭하고 필요한 작업 공간에 대한 맵핑을 제거하십시오.


0

tf workspaces현재 작업 공간 맵핑을 보려면 실행하십시오 . 출력은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

그런 다음 실행 tf workspace /delete "{workspace};{user}

위의 출력을 사용하여 작업 공간을 삭제하십시오 bi.

tf workspace /delete bi;James Wierzba


이것은 나를 위해 작동하지 않습니다. 다음 오류가 발생합니다. 인수 오류가 발생했습니다. 작업 공간을 삭제하려면 하나의 작업 공간 이름이 필요합니다.
Red M

0

다음은 TFS에서 프로젝트 맵핑을 제거하는 단계입니다.

(1)보기 버튼을 클릭하십시오.

(2) 팀 탐색기 열기

(3) 소스 제어를 클릭하십시오

(4) 프로젝트 / 디렉토리를 마우스 오른쪽 버튼으로 클릭하십시오.

(5) 매핑 제거를 클릭하십시오

(6) 마지막으로 프로젝트 양식 로컬 디렉토리를 삭제하십시오.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.