[tfs] 중앙 소스 저장소로 이동하지 않도록 TFS에서 파일 / 디렉토리를 무시하는 방법은 무엇입니까?

TFS 소스 제어에서 프로젝트별로 무시하도록 파일 / 폴더를 설정할 수 있습니까?

예를 들어, 소스 제어로 가고 싶지 않은 자산 폴더가있는 웹 사이트가 있습니다. 이러한 자산은 별도의 시스템으로 유지 관리됩니다. 또한 소스 제어에 몇 기가 바이트의 자산을 넣고 싶지 않지만 개발자 컴퓨터에 몇 개의 샘플이 필요하지만 어느 쪽도 확인하고 싶지 않습니다.

소스 제어에 바인딩 된 상태에서이 웹 사이트에서 작업하고 트리를 새로 고치면 이러한 파일이 자동으로 다시 추가됩니다.

이 문제가 발생하지 않도록하고 싶습니다.



답변

VS2015 및 VS2017

TFS (온-프레미스) 또는 VSO (Visual Studio Online-Azure 호스팅 제품)와 호환

NuGet 설명서는 다음을 제공합니다. 이를 수행하는 방법에 지침을 하며 VSTS (Azure-hosted TFS)에 대해 Visual Studio 2015 및 Visual Studio 2017에서 성공적으로 수행했습니다. 모든 것이 2016 년 11 월 2016 년 8 월 현재 완전히 업데이트되었습니다 .

NuGet의 지침을 따르지만 내가 한 일을 요약하면 다음과 같습니다.

  1. 당신의 packages폴더가 TFS에 커밋되지 . 그렇다면, 꺼내십시오.
  2. 우리가 만드는 다른 모든 것은 .sln 달리 지정되지 않는 한 파일이 존재 (NuGet의 지침은 이것에 대해 명확하지 않습니다).
  3. .nuget폴더를 만듭니다 . Windows 탐색기를 사용하여 다른 이름 .nuget.으로 저장하기 위해 이름을 지정할 수 있습니다.nuget 하기 위해 이름을 .nuget지정할 수 있지만 (마지막 기간을 자동으로 제거함) 직접 이름을 지정하려고하면 작동하지 않을 수 있습니다 (Windows 버전에 따라 오류가 발생하거나 이름이 변경 될 수 있음) ). 또는 디렉토리 이름을 nuget으로 지정하고 명령 행 프롬프트에서 상위 디렉토리를여십시오. 유형. ren nuget .nuget
  4. 해당 폴더 안에 NuGet.config파일을 작성 하고 다음 내용을 추가하고 저장하십시오.

NuGet.config :

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <solution>
        <add key="disableSourceControlIntegration" value="true" />
    </solution>
</configuration>
  1. .sln폴더로 돌아가서 새 텍스트 파일을 생성하고 이름을 지정하십시오 .tfignore(Windows 탐색기를 사용하는 경우 위와 동일한 트릭을 사용하고 이름을 지정하십시오).tfignore. ).
  2. 다음 내용을 해당 파일에 넣으십시오.

.tfignore :

# Ignore the NuGet packages folder in the root of the repository.
# If needed, prefix 'packages' with additional folder names if it's
# not in the same folder as .tfignore.
packages

# include package target files which may be required for msbuild,
# again prefixing the folder name as needed.
!packages/*.targets
  1. 이 모든 것을 저장하고 TFS에 커밋 한 다음 Visual Studio를 닫았다가 다시 열면 팀 탐색기가 더 이상 패키지 폴더를 보류중인 체크인으로 식별하지 않아야합니다.
  2. Windows 탐색기를 통해 .tfignore파일과 .nuget폴더를 모든 다양한 솔루션에 복사하여 붙여 넣은 후 커밋했으며 더 이상 packages소스 제어 저장소에 몰래 들어 가려는 폴더 가 없습니다 !

추가 사용자 정의

내 것이 아니지만 sirkirby 의이 .tfignore템플릿 이 유용 하다는 것을 알았 습니다. 내 대답의 예제는 Nuget packages폴더를 다루지 만이 템플릿에는 다른 것들이 포함되어 있으며이를 더 사용자 정의하려는 경우 유용한 추가 예제가 있습니다.


답변

로컬 작업 공간 (TFS 2012+)을 사용하는 경우 이제 .tfignore파일을 사용하여 로컬 폴더 및 파일을 체크인하지 못하게 할 수 있습니다 .

해당 파일을 소스 제어에 추가하면 팀의 다른 사용자가 동일한 제외 설정을 공유 할 수 있습니다.

MSDN에 대한 자세한 내용-http: //msdn.microsoft.com/en-us/library/ms245454.aspx#tfignore

게으른 사람 :

.tfignore규칙을 적용 할 폴더에 텍스트 파일을 배치하여 무시할 파일 종류를 구성 할 수 있습니다 . .tfignore파일 의 효과 는 재귀 적입니다. 그러나 하위 폴더에 .tfignore 파일을 만들어 .tfignore
상위 폴더 에있는 파일 의 효과를 무시할 수 있습니다 .

다음 규칙은 .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


답변

그것은 않습니다 팀 파운데이션 서버에있는 파일 (및 폴더)를 무시하는 약간의 불편을 보인다. TFS / Team Explorer / Visual Studio 2008을 사용하여 몇 가지 방법을 찾았습니다. 이러한 방법은 웹 사이트 ASP 프로젝트 유형에서도 작동합니다.

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

다른 방법은 소스 제어 탐색기의 폴더에 항목 추가 명령을 사용하는 것입니다. 작은 마법사가 시작되고 단계 중 하나에서 제외 할 항목을 선택할 수 있습니다 (마법사가 계속하려면이 방법으로 TFS에 하나 이상의 항목을 추가해야한다고 생각합니다).

금지 된 패턴 체크인 정책 (팀-> 팀 프로젝트 설정-> 소스 제어 …-> 체크인 정책 아래)을 추가하여 팀의 다른 사람들이 특정 자산을 실수로 체크인하지 못하게 할 수 있습니다.


답변

대한 TFS 2013 :

VisualStudio Team Explorer 에서 시작 하여 PendingChanges 대화 상자 에서 [add] 상태로 변경 사항을 실행 취소하십시오. 무시해야합니다.

Visual Studio에서 추가를 다시 감지합니다. 제외 된 변경 사항에서 검지 : x 추가 (들)” 를 클릭하십시오 .

열린 “Cadidate Changes 변경”대화 상자에서 상황에 맞는 메뉴를 사용하여 파일 및 폴더를 쉽게 제외 할 수 있습니다. 옵션은 다음과 같습니다.

  • 이 항목을 무시하십시오
  • 확장으로 무시
  • 파일 이름으로 무시
  • ffolder로 무시 (예 ffolder, TFS 2013 업데이트 4 / Visual Studio 2013 Premium 업데이트 4)

변경된 .tfignore-File을 체크인하는 것을 잊지 마십시오.

들어 VS 2,017분의 2,015 :

동일한 절차 : TeamExplorer \ Pending Changes의 “Excluded Changes Tab”에서 Detected : xxx add (s)를 클릭하십시오.

TeamExplorer \ Pending Changes의 Excluded Changes 탭

“후보 변경 사항 변경”대화 상자가 열리고 항목에서 상황에 맞는 메뉴를 마우스 오른쪽 버튼으로 클릭 할 수 있습니다. 오타가 수정되었습니다 🙂


답변

SVN처럼 TFS의 파일을 무시하는 완벽한 방법을 찾았습니다.
먼저 무시하려는 파일 (예 : Web.config)을 선택하십시오.
이제 메뉴 탭으로 이동하여 다음을 선택하십시오.

파일 소스 제어> 고급> 소스 제어에서 web.config 제외

… 그리고 붐; 파일이 소스 제어에서 영구적으로 제외됩니다.


답변

웹 사이트 프로젝트를 사용한다고 가정하겠습니다. 이들은 자동으로 프로젝트 디렉토리를 크롤링하고 모든 것을 소스 제어에 넣습니다. 그들을 막을 방법이 없습니다.

그러나 절망하지 마십시오. 웹 애플리케이션 프로젝트는이 이상하고 예상치 못한 (imho : moronic) 동작을 나타내지 않습니다. WAP는 VS2005 용 애드온이며 VS2008과 함께 제공됩니다.

프로젝트를 WAP로 변경하는 대신 자산 폴더를 소스 제어에서 TFS 문서 라이브러리로 이동하는 것을 고려할 수 있습니다. 프로젝트 자체가 자산 파일을 직접 사용하지 않는 경우에만이 작업을 수행하십시오.


답변