티스토리 뷰

Others

[TFS] 불필요한 파일 제외하기

해구름 2018. 5. 20. 12:00
반응형

문제

VisualStudio TeamFoundaiton 서비스를 사용하다 보면 불필요한 파일이 같이 커밋되는 경우가 있습니다. 이 경우 보통은 .gitignore를 통해서 커밋을 제외할 수 있습니다. VisualStudio 2017에서는 아래 그림과 같이 Ignore this local item 메뉴 클릭 한번으로 .gitignore 대상으로 추가하실 수 있습니다.

하지만 .gitignore를 작성하였는데도 적용되지 않거나 위와 같은 메뉴가 나타나지 않는 경우가 있습니다.

해결

.gitignore는 커밋되지 않은 파일에 대해서만 동작합니다. 커밋된 파일은 .gitignore를 작성해도 적용되지 않습니다. 따라서 로컬저장소(Local Repository)나 원격저장소(Remote Repository)에 커밋되지 않았는지 확인이 필요합니다.

위의 그림을 보면 이미 원격저장소에 .vs와 packages 폴더가 업로드되어 있습니다. .gitignore를 적용하기 위해 아래 그림처럼 원격저장소에서 삭제해주세요.

Git 시스템은 원격저장소 뿐만 아니라 로컬저장소도 관리하므로 로컬저장소에 커밋된 파일도 같이 삭제해주어야 합니다. 아래와 같이 Open Command Prompt를 클릭하여 Command Prompt를 실행합니다.

명령 프롬프트가 나타나면 해당 폴더로 이동 후, 아래 명령을 입력합니다.

  • 폴더삭제: git -rm -r --cached 폴더명
  • 파일삭제: git -rm --cached 파일명

-rm은 삭제 옵션입니다. -r은 하위 파일/폴더를 삭제하라는 옵션으로, 폴더를 삭제할 때 사용합니다. --cached는 저장소 파일만 지우라는 명령입니다. 따라서 사용자 PC에 저장된 파일들은 삭제하지 않습니다.

모두 삭제 후 Visual Studio를 재시작 하시면 .gitignore가 정상적으로 적용되는 것을 볼 수 있습니다.

만약 적용되지 않는다면, 아래 그림처럼 파일을 모두 삭제하신 후 다시 Clone 과정을 진행해 보시기 바랍니다.

1. 파일을 모두 삭제 후

2. 다시 Clone 진행

참고자료


댓글