선택

Gitignore

Windows의 VS Code에서 .gitignore로 Git이 추적하지 않을 생성 파일과 로컬 폴더를 지정합니다.

새 폴더 무시

프로젝트에서 생성되지만 Git으로 추적하지 않을 파일이나 폴더는 저장소의 .gitignore에 적습니다. 이 규칙에 맞는 새 파일은 일반적인 git add 대상에서 제외됩니다.

빌드가 다시 만드는 .aux, .log 파일이나 이 컴퓨터에서만 쓰는 임시 폴더에 무시 규칙을 적용할 수 있습니다. 원고와 참고문헌처럼 공유할 원본 파일은 필요한 범위를 정해 커밋합니다.

예시 프로젝트의 heavy 폴더를 Git에서 무시해 보겠습니다. 이 폴더는 아직 Git이 추적하지 않는 파일을 담고 있습니다.

추적되지 않은 파일을 담은 heavy 폴더가 보이는 예전 VS Code 탐색기 화면

VS Code에서 저장소의 최상위 폴더를 오른쪽 클릭하고 New File...을 선택합니다.

저장소 최상위 폴더의 메뉴에서 New File을 선택하는 예전 VS Code 화면

새 파일 이름으로 .gitignore를 입력합니다. 이 파일은 예시의 heavy 폴더와 같은 최상위 폴더에 둡니다.

저장소 최상위에 .gitignore 파일 이름을 입력하는 예전 VS Code 화면

.gitignore에 heavy/를 한 줄로 입력하고 저장합니다. 끝의 /는 폴더를 뜻합니다. 이 패턴은 .gitignore가 있는 위치 아래에서 이름이 heavy인 폴더에 적용됩니다. 기존 화면의 heavy도 폴더를 제외하지만, 여기서는 폴더임을 분명히 하도록 heavy/를 사용합니다.

.gitignore 파일에 heavy 규칙을 입력한 VS Code 예시 화면

파일을 저장하면 VS Code에서 무시된 폴더가 흐리게 보일 수 있습니다. 표시 방식과 관계없이 아래 Git 명령으로 규칙을 확인합니다.

heavy 규칙을 저장한 뒤 heavy 폴더가 흐리게 표시된 VS Code 예시 화면

저장소 최상위 폴더에서 다음 명령을 실행합니다. 출력에 .gitignore의 heavy/ 규칙이 보이면 예시 파일이 무시되고 있습니다.

git check-ignore -v heavy/this-is-a-heavy-file.txt

.gitignore와 필요한 원본 파일만 골라 커밋하고 Push합니다.

GitHub의 비공개 저장소에는 커밋한 .gitignore가 보이고, 처음부터 무시한 heavy 폴더는 보이지 않습니다. 아래 기존 이미지는 공개 저장소에서 만든 예시입니다.

공개 GitHub 저장소에 .gitignore 파일이 있고 heavy 폴더가 없는 예전 화면

이미 추적 중인 파일

.gitignore 규칙은 아직 Git이 추적하지 않는 파일에 적용됩니다. 이미 git add로 추적을 시작한 파일에는 새 규칙이 바로 적용되지 않습니다. 로컬 파일을 남겨두고 추적을 중지하려면 Git의 추적 목록에서 해당 경로를 제거합니다.

예시의 heavy/가 이미 추적 중이었다면, 저장소 최상위 폴더의 터미널에서 먼저 추적 중인 파일을 확인합니다. 출력에 의도한 파일만 있는 경우 다음 명령으로 Git의 추적 목록에서 폴더를 제거합니다. 로컬 작업 파일은 남습니다.

git ls-files -- heavy/
git rm -r --cached -- heavy/
git add .gitignore
git status

git status에서 heavy/의 추적 중지와 .gitignore 변경을 검토한 뒤 해당 변경만 커밋하고 Push합니다. 이후 GitHub의 최신 파일 목록에서는 heavy/가 사라지지만, 이전 커밋의 이력은 남습니다. 새 파일이 무시되지 않는다면 git check-ignore -v로 적용된 규칙을 확인합니다.

이미지 미리보기