TFS 소스 제어에서 특정 파일을 제외하는 방법


89

여러 구성 파일 (app.DEV.config, app.TEST.config 등)과 올바른 구성 파일을 app.config에 복사하는 사전 빌드 이벤트가 있습니다. 분명히 구성 특정 파일은 소스 제어에 있지만 현재 App.Config도 마찬가지입니다.

한 파일을 소스 제어에서 제외되었지만 분명히 프로젝트에서 제외 된 것으로 표시하려면 어떻게해야합니까?

VS 2005 및 2005 Team Explorer를 사용하고 있습니다.



답변:


39

MS Power Tools에는 정규식에 대해 파일 이름을 선별 할 수있는 체크인 정책 (금지 된 패턴 정책)이 있습니다. 참조 : Microsoft Team Foundation Server Power Tools

체크인 정책이 완전히 완벽하지는 않지만 TFS가 사용자가 찾고있는 것과 같은 사용자 정의 규칙을 적용하는 데 가장 가까운 것입니다.

(다른 사람들이 말했듯이 파일이나 폴더를 은폐 할 수도 있습니다. 즉, 소스 제어에 유지되고 팀의 다른 모든 사람이 볼 수 있지만 은폐를 해제하기 전까지는 PC에 복사되지 않습니다. 파일을 삭제할 수 있습니다. 즉, 모든 사람의 PC에서 최신 버전이 나오면 삭제됩니다. 그러나 이러한 옵션 중 어느 것도 이러한 파일이 처음에 소스 제어에 추가되는 것을 방지하지 못합니다.)


1
설명하는 팀 프로젝트 전체 제외 기능은 안타깝게도 TFS에 존재하지 않습니다. (내 것보다 2010 년의 최신 빌드가 아닌 경우) "소스 제어 파일 유형"대화 상자는 병합 할 수없는 파일 유형, 즉 독점적으로 잠겨있는 파일 유형을 제어합니다.
Richard Berg

나는 직장에서 VSTS2005 / 2008을 가지고 있지만 집에서 이것을 쓰고 있기 때문에 내 대답은 내 기억력이 좋지 않은 것입니다. 죄송합니다! 필요한 것은 TFS Power Tools "금지 된 패턴"체크인 정책이라는 것을 깨달았습니다. 이렇게하면 정규식을 사용하여 파일 이름을 일치시키고 원하지 않는 파일 이름의 체크인을 차단할 수 있습니다. msdn.microsoft.com/en-us/teamsystem/bb980963.aspx#checkin
Jason Williams

좋은 전화, 그 정책에 대해 잊었습니다. 가시성을 높이기 위해 게시물을 편집하겠습니다.
Richard Berg

한 가지의 은폐를 해제하려면 어떻게해야합니까 ?? 내가 실수로 지점을 숨겨진 나는 그것을 가면을 벗기다 VS2012 수 없습니다
rolivares

95

TFS2012에서는 .tfignore 파일을 만드는 것이 쉽습니다.

http://msdn.microsoft.com/en-us/library/tfs/ms245454%28v=vs.110%29.aspx#tfignore

######################################
# Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA\*.cpp
# 
# Ignore .txt files in this folder 
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll

# EDIT https://msdn.microsoft.com/en-us/library/ms245454(v=vs.110).aspx#tfignore
# A filespec is recursive unless prefixed by the \ character.

재귀 무시 패키지 폴더를 어떻게 수행하지만 packages / repositories.config를 포함합니까?
Maslow 2014

@Maslow, 당신이 그것을 얻었다면, 내 대답을 자유롭게 편집하십시오. 꽤 일반적인 설정처럼 보인다 그리고 우리는 예에 넣어해야
artfulhacker

프로젝트 컬렉션의 루트에있는 .tfignore 파일은 해당 폴더가 매핑 / 다운로드되지 않은 경우에도 자동으로 계층 아래에 ​​적용됩니까?
Maslow

2
이것은 로컬 작업 공간에서만 지원됩니다. msdn.microsoft.com/library/vstudio/…
Sumo

45

솔루션 탐색기에서 App.config 파일을 선택하고 파일-> 소스 제어-> 소스 제어에서 App.config 제외를 선택합니다.


1
축소 된 파일을 저장하지 않는 데 필요한 것입니다.
Valamas

13
이 옵션이 일반 상황에 맞는 메뉴에 나열되지 않는다는 사실이 저를 괴롭
힙니다

6
나는 그 옵션이 없습니다. : '-(
Jan Aagaard 2013-06-20

2
Visual Studio 2013 Ultimate에도 없습니다. :(
Ytrog

4
Visual Studio Premium 2013 (버전 12.0.3023.00 업데이트 3)에 파일> 소스 제어> 고급> 소스 제어에서 App.config 제외 아래에 있습니다.
Martin Bäckström 2014

21

찾기 어려운 옵션이 있습니다.

1. 솔루션 탐색기에서 파일 또는 여러 파일 선택

2. 파일-> 소스 제어-> 고급으로 이동합니다.

제외 할 경로

그리고 여기 있습니다

다음은 제외입니다.

유의 사항 : 솔루션 탐색기에서 파일을 마우스 오른쪽 버튼으로 클릭하면 모두가 아닌 "가장 중요한 옵션"만 찾을 수 있습니다. :)


13

원하는 파일이 프로젝트에 있지만 TFS로 소스 제어가 아닌 경우 SourceControl로 이동하여 해당 파일을 삭제하고 프로젝트 파일의 체크 아웃을 취소하십시오 (프로젝트에서 파일 제거를 시도합니다. 잘). 그런 다음 제외하려는 파일의 삭제를 체크인하십시오. 솔루션 탐색기에서 제외 할 파일 옆에 소스 제어 아이콘이 없음을 확인해야합니다. 프로젝트 파일은 거기에 파일을 나열해야하지만 이제 해당 파일은 더 이상 소스 제어하에 있지 않아야합니다.

다른 사람은 이제 최신 파일을받을 때 프로젝트에서 누락 된 파일을 보게됩니다.


7

TFS를 사용하면 폴더 / 파일 수준에서 은폐 할 수 있습니다. 무언가가 은폐되면 TFS는 동기화를 시도하지 않습니다 (svn : ignore와 유사).

작업 영역을 설정할 때 TFS에서 무시할 모든 항목을 숨 깁니다. 자세한 방법은 여기에 있습니다 .


모든 작업 공간에 대해 폴더를 숨길 수있는 방법이 있다면 ... 보안에 상응하는 설정이 표시되지 않습니다.
felickz 2013 년

파일 수준에서는 은폐 할 수 없습니다. 폴더 만.
dudeNumber4 2014 년

@ dudeNumber4이 기능은 초기 답변이 작성된 이후 TFS의 이후 버전에서 비활성화되었다고 생각합니다. 이 해킹을 시도해 볼 수 있습니다. social.msdn.microsoft.com/Forums/vstudio/en-US/…
joshua.ewer

5

이것은 나를 위해 일했습니다.

한 가지 방법은 프로젝트에 새 항목 또는 기존 항목을 추가하는 것입니다 (예 : 프로젝트를 마우스 오른쪽 단추로 클릭하거나 기존 항목을 추가하거나 Windows 탐색기에서 솔루션 탐색기로 끌어서 놓기). TFS가 파일 또는 폴더를 처리하도록 한 다음 보류중인 실행 취소 항목의 변경. TFS는 보류중인 추가 변경 사항이있는 것으로 표시를 해제하고 파일은 프로젝트에서 조용히 유지되고 TFS에서 제외됩니다.

출처 : = "> 어떻게 TFS 소스 제어에서 특정 파일을 제외 할 수 있습니까?


2

Visual Studio 2013 (및 2012)

이 기능은 파일을 선택하고 다음으로 이동하여 사용할 수 있습니다.

File > Source Control > Advanced > Exclude ... from Source Control

2012
예외

2013 년에도 볼 수 없습니다
VictorySaber 2015

2

이 질문은 얼마 전에 요청되었지만 내가 겪었던 동일한 유형의 문제와 관련이 있습니다.

문제 :

  • 코드를 확인하고 싶습니다.
  • 그런 다음 프로젝트를 빌드하려고합니다.
    • 빌드하는 동안 빌드 이벤트에 의존하여 파일을 이동하므로 빌드 프로세스를 완료 할 수있는 적절한 파일이 있습니다.
  • 빌드 이벤트가 파일을 복사하려고하면 액세스 거부 오류가 발생합니다.

이유:

  • Team Foundation Server Visual Studio 플러그인은 파일을 체크인 할 때 파일의 읽기 전용 특성을 READONLY TRUE로 변경합니다.

빌드 이벤트 예 :

  • "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"복사

위에서, Target Build Path (bin \ debug 또는 bin \ release 폴더)에서 프로젝트 폴더로 파일을 이동하기 만하면됩니다. 제 상황에서는 설치 프로그램에 프로젝트 빌드 파일을 포함 할 수있었습니다. 내 설치 프로그램이 프로젝트 출력의 일부로 가져 오지 않았습니다.

수정 : (내가 이것을 알아 냈을 때 거의 내 얼굴을 걷어 차렸다)

새로운 빌드 이벤트 :

  • attrib -R "$ (ProjectDir) SomeFile.ext"
  • "$ (TargetDir) SomeFile.ext" "$ (ProjectDir)"복사
  • attrib + R "$ (ProjectDir) SomeFile.ext"

우리 모두 빌드 이벤트로 재미있게 지내고 있습니까? 위의 두 가지 작업을 수행하고 읽기 전용 속성을 제거했습니다. 이제 파일은 읽기 전용이 아닙니다. 원래 원하는대로 파일을 복사합니다. 그런 다음 읽기 전용 특성 (선택 사항)을 대체하여 Visual Studio 및 Team Foundations를 행복하게 유지합니다.

그리고 그래 ... 나는 여전히이 문제에 대해 얼굴을 걷어차 고있다.


0

비슷한 문제가 있습니다. 내 App.config에는이 데이터가 TFS와 동기화되어서는 안되는 합리적인 데이터 (예 : 사용자 이름)가 포함되어 있습니다.

ASP.NET 및 Azure App Service에 암호 및 기타 중요한 데이터를 배포하는 모범 사례 문서에서는 이 문제를 방지하는 좋은 방법을 설명합니다.

소스 제어에 추가되지 않은 구성 파일을 참조하려면 "appSettings"요소의 "file"속성을 사용하십시오.


0

TFS2012보다 이전 버전이있어서 .tfignore파일을 만들 거나 File > Source Control > Advanced > Exclude …옵션을 사용할 수없는 경우 다음을 시도해 볼 수 있습니다.

  • Windows 탐색기에서 대상 파일의 복사본을 만듭니다.
  • Team Explorer / Visual Studio의 대상 파일에서 보류중인 변경 사항 (있는 경우)을 실행 취소합니다.
  • Windows 탐색기에서 대상 파일을 삭제하십시오.
  • 대상 파일의 복사본을 삭제 된 대상 파일의 위치로 이동하고 삭제 된 대상 파일과 동일한 이름을 갖도록 이름을 바꿉니다.

TFS는 이제 대상 파일의 변경 사항을 무시하는 것 같습니다. 파일을 다시 편집해야하는 경우 Visual Studio를 사용하지 마십시오. 그러면 TFS가 파일을 보류중인 변경 내용이있는 파일 목록에 다시 넣습니다.


0

소스 제어 탐색기에서 파일을 선택하고 마우스 오른쪽 버튼으로 클릭 한 다음 거기에서 "이름 바꾸기"옵션을 선택하고 파일 이름 끝에 ".exclude"를 추가 할 수 있습니다.

그런 다음 파일을 체크인해야합니다. 그 후에 파일이 소스 제어에서 제외 된 것을 볼 수 있습니다.

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