본문 바로가기

Asp.net (C#.net)

SourceTree(Git) 에서 예외(ignore) 디렉토리 또는 파일 등록 (Visual Studio 에서 .vs 디렉토리 제외 등록)

Visual Studio 를 사용하면서 Git 을 사용할때 딱히 작업한것도 없고 했는데..

커밋해야 될것이 생길때가 있다.

바로 루트에 존재하는 .vs 라는 숨은 폴더가 그것인데요.

이녀석을 예외처리 시키는 방법입니다.


우선 소스트리를 실행시킵니다.

그리고 해당 프로젝트의 오른쪽 상단의 [설정] 아이콘을 클립합니다.



그러면 창이 하나 뜨는데 그 창에서 [고급 탭] 을 클릭하신후에

[편집] 버튼을 누르시면 됩니다.



그러면 어느 프로그램으로 열건지 물어보는데...

텍스트 편집이 가능한걸로 편한걸로 여십시오. 메모장이나 에디트플러스 같은걸로 여시면 됩니다.


기본적인 사용 방법은


폴더명/

폴더명/파일명.확장자


이런식으로 작성하면 된다.

비주얼 스튜디오에서 .vs/ 폴더를 예외처리시키시려면 아래처럼 하시면 됩니다.


.vs/


아주 간단하죠.

그리고 커밋 및 푸쉬.


조금더 사용 방법을 추가하고자 한다면


ex) /최상위폴더/중간폴더/최하위폴더 가 존재한다고 생각하면


중간폴더 포함 그 하위 폴더를 제외 하려면

**/중간폴더/


최하위폴더를 제외 하려면

**/중간폴더/최하위폴더/


특정 폴더의 특정 확장자(log) 제외

/폴더명/*.log


이런식으로 사용하시면 됩니다.


하지만 이미 커밋되고 푸쉬된 파일이나 폴더는 적용되지않음!


이미 관리에 들어갔던 파일은 제외되지않습니다. 일반적인 삭제를 하더라도 관리 대상으로 추적 당하고 있습니다. 삭제하고 다시 쓰이는 순간 또 관리에 들어가게 되죠. 이렇기 때문에 이미 커밋되고 푸쉬된 파일은 수동으로 제외처리를 해줘야 합니다. 원격 저장소의 캐쉬를 삭제하고 제외시킬 파일을 강제로 제거 해준후에 다시 설정해줘야 합니다.

아래 예문이 있으니 천천히 따라하시면 됩니다.


관리 파일을 관리에서 완전 제외

// 현재 저장소의 캐쉬를 삭제

$ git rm -r --cached .



// [파일명]에 해당하는 파일을 원격 저장소에서 삭제. (로컬 저장소에서 있는 파일은 적용되지않는다)

$ gir rm -r --cached [파일명]



// .gitignore에 적용된 파일을 제외하고 나머지 파일들을 다시 track하도록 한다.

$ git add .





ps. 2018-11-28 이미 푸쉬된 파일 제거하는 방법 추가