Programming

TFS 2010에서 Visual Studio 외부의 파일에 대한 변경 사항을 감지하도록하는 방법은 무엇입니까?

procodes 2020. 7. 19. 17:17
반응형

TFS 2010에서 Visual Studio 외부의 파일에 대한 변경 사항을 감지하도록하는 방법은 무엇입니까?


Visual Studio 2010에서 Team Foundation Server 2010을 사용하고 있습니다.

Visual Studio 외부에서 파일을 수정할 때마다 TFS는 파일에 대한 변경 사항을 감지하지 못하므로 수정 후 파일을 체크인하는 옵션을 제공하지 않습니다.

이 문제를 어떻게 해결할 수 있습니까?


Visual Studio 외부에서 작업하는 동안 서버에 네트워크에 연결되어 있으면 tf 명령 줄 클라이언트를 사용하거나 Windows 탐색기 셸 통합을 사용하여 파일을 편집하기 전에 파일을 확인하는 것이 가장 좋습니다. TFS Power Tools 릴리스 에서 사용 가능합니다 . (또한 점점 더 많은 다른 도구에 TFS 통합 기능이있어이를 자동으로 만들지 만 메모장을 사용하는 경우 여전히 수동 단계 여야합니다.)

물론 작업 할 때가 많고 파일을 체크 아웃 할 수있는 네트워크 연결이없는 경우가 있습니다.

어떤 파일을 수정했는지 알고 있다면 Visual Studio 내에서 파일을 체크 아웃하면 다시 체크인 할 수 있습니다.

편집 한 파일을 모르는 경우 tfpt online명령 (Power Tools 릴리스의 일부)을 실행하여 변경 사항을 감지 할 수 있습니다 . 로컬로 수정 된 파일을 찾아 서버에서 해당 파일을 체크 아웃합니다.


TFS에는이를위한 "조정"명령이 있습니다.

  1. 소스 컨트롤 탐색기를 엽니 다
  2. 변경 사항이있는 폴더를 마우스 오른쪽 단추로 클릭하고 비교를 선택 하십시오.
  3. 조정할 파일을 선택하십시오 ( CTRL+ A를 눌러 모든 파일을 선택하십시오)
  4. 조정 버튼을 클릭하십시오
  5. 폴더 차이 조정 대화 상자 에서 옵션을 설정하십시오 . 보류중인 변경 사항없는 파일이 체크 아웃으로 설정되어 있는지 확인하십시오.
  6. 확인을 클릭하십시오
  7. 로컬로 변경 한 경우 Check Out 대화 상자가 표시됩니다. 선호하는 잠금 유형 설정
  8. 체크 아웃을 클릭 하십시오

폴더 차이 조정

참조 : 폴더 간의 차이점 조정


이것은 TFS Power Tools를 사용하여 저에게 효과적이었습니다.

tfpt online /adds /deletes /diff /noprompt /recursive directory-name

(여기서 directory-name은 업데이트 할 디렉토리의 경로입니다. 그렇지 않으면 전체 TFS 저장소 전체에서 변경 사항을 감지합니다)

실제로 변경하지 않고 수행 할 작업을 알고 싶다면 /preview스위치 를 추가하여 강제 실행을 수행 할 수 있습니다 .


*1- make changes outside of Visual Studio
2- go to Visual Studio and open Source Control Explorer
3- right click on the folder > "Check Out for Edit" > "Check Out"
4- right click on the same folder > "Undo Pending Changes..." > "Undo changes" > "No to All"*

지점 에서이 해결 방법을 테스트했으며 많은 도움이되었습니다. 그러나 수동으로 수행해야하는 새 파일과 새 폴더 만 있습니다.

작업 전에 분기를 만드는 것이 좋습니다. 작업 시간을 격리시킵니다.

참고 :이 기술은 또한 TFS가 항상 수정 된 것으로 표시하는 파일과 동일한 정리를 수행합니다.


이 시도. 일종의 해결 방법이지만 작동합니다.

  1. Visual Studio 외부에서 변경
  2. Visual Studio로 이동하여 소스 제어 탐색기를 엽니 다.
  3. 폴더를 마우스 오른쪽 버튼으로 클릭하고 "편집 체크 아웃" > "체크 아웃"
  4. 같은 폴더를 마우스 오른쪽 버튼으로 클릭하고> "대기 중 변경 취소 ..." > "변경 취소" > " 모두에 "

그게 다야. 이제 변경 사항이 표시됩니다.


TFS가 Visual Studio 외부에서 변경된 파일을 파악하도록하는 또 다른 솔루션이 있습니다.

  1. 오프라인으로 솔루션 열기
  2. 솔루션 탐색기에서 솔루션 파일을 선택한 다음 온라인 이동 버튼 ( GoOnline 버튼 아이콘) 을 누릅니다.

이 후 TFS는 솔루션의 변경 사항을 자동으로 스캔합니다.

1 단계는 다양한 방법으로 달성 할 수 있습니다. 여기 몇 가지가 있습니다 :

  • 매우 간단하고 효과적인 GoOffline 확장 프로그램을 사용하십시오 .
  • 솔루션을 열 때 TFS 자격 증명을 묻는 메시지가 표시되면 (자동 도메인 인증 없음) 자격 증명을 입력하지 마십시오. 솔루션이 오프라인으로 열리고 온라인 이동 버튼을 누르면 로그인됩니다
  • (익스트림 솔루션) 네트워크 케이블을 분리하십시오. 솔루션을여십시오. 네트워크 케이블을 연결하십시오.

Visual Sourcesafe도 이와 같이 작동하며 VSS 또는 TFS가 변경 사항을 알 수있는 방식은 Visual Studio에서 파일을 한 번 체크 아웃하는 것입니다.


소스 제어를 열고 TFS 폴더로 이동하십시오. 폴더를 마우스 오른쪽 버튼으로 클릭하고 '비교'를 선택하십시오.

편집 한 파일은 빨간색으로 표시됩니다.

나는 이것이 tfpt online읽기 전용이 아니며 편집되지 않은 파일을 얻는 것보다 낫다는 것을 알았 습니다.


인터넷이 다운되어 오프라인 상태 였을 때 과거에이 문제가 발생했으며 대부분의 변경 사항이 팀 탐색기에 나타나지 않았습니다.

다음 단계를 수행하십시오. 먼저 솔루션 탐색기에서 조정하려는 폴더 (나의 경우 전체 솔루션 폴더 임)를 선택하고 비교 ...를 선택 합니다. 필터 수정을여기에 이미지 설명을 입력하십시오 클릭 하고 필터 텍스트에서 상자에 다음을 입력 할 수 있습니다.

*.cs;!obj\;!bin\;!packages\;

이 예에서는 C # 파일 만 검색에 포함하고 bin, obj 및 packages 폴더에는 제외합니다.

Notice the column Pending Change has the info whether the file is marked as edit, add, etc... or nothing...

  • To mark as edit (when the local item has a matching server item), select the file and choose Check out for Edit...
  • To mark as add (when the local item doesn't have any server item), select the file and choose Add Files

Finally, I am not sure why the projects are not listed here (after I remove *.cs filter, still doesn't show up), so rebuild the solution to make sure the projects updates as well

+ In the solution, click the connect button (if shows up) that said Go Online.


Visual Studio 2015에서 프로젝트가 열린 상태에서 Visual Studio는 파일이 외부에서 수정되었다는 것을 알았고 아무것도 할 필요없이 자동으로 파일을 체크 아웃했습니다. 정상적인 방법으로 프로젝트를 체크인하면 외부 수정 사항이 저장되었습니다.

참고 URL : https://stackoverflow.com/questions/5899213/how-to-have-tfs-2010-detect-changes-done-to-files-outside-of-visual-studio

반응형