티스토리 뷰
문제
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 진행
참고자료
- applicationhost.config을 제외하기: https://stackoverflow.com/questions/37156627/why-is-applicationhost-config-still-being-added-to-source-control-even-thought-i
- git -rm --cached 설명: http://mygumi.tistory.com/103
- git 저장소 파일 삭제: https://help.github.com/articles/removing-files-from-a-repository-s-history/
- git ignore 작성하기: https://docs.microsoft.com/en-us/vsts/git/concepts/git-config?view=vsts&tabs=visual-studio#ignore--attributes-files
'Others' 카테고리의 다른 글
실무에서 TDD의 장담점과 의사결정 (0) | 2021.01.07 |
---|---|
[AndroidStudio] Code Folding (0) | 2020.12.16 |
[아웃룩] 데이터 파일(.ost) 위치 변경 (2) | 2019.07.17 |
에베레스트 신드룸 (0) | 2018.09.28 |
[Visual Studio] 프로젝트에 파일 링크하기 (0) | 2018.03.10 |
.NET Standard, .NET Core, .NET Framework? (0) | 2017.12.12 |
github 시작하기 (0) | 2017.11.14 |
[네트워크] DHCP IP Lease Time Limite (IP대여시간) (3) | 2017.11.14 |
- flutter
- React
- Xamarin.Forms
- Vue
- Xamarin.Forms eBook
- MS SQL
- material-ui
- Xamarin.iOS
- TypeScript
- ASP.NET Core
- Xamarin.Forms 요약
- c#
- ios
- npm
- .NET Standard
- VisualStudio
- WPF
- StringComparison
- Xamarin
- Android
- Total
- Today
- Yesterday